最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)LeetCode(報數(shù))

 更新時間:2021年06月30日 10:33:41   作者:fengpojian  
這篇文章主要介紹了Java實現(xiàn)LeetCode(報數(shù)),本文通過使用java實現(xiàn)leetcode的報數(shù)題目和實現(xiàn)思路分析,需要的朋友可以參考下

題目如下:

public String countAndSay(int n) {
        if(n == 1){
            return "1";
        }
        //遞歸調(diào)用,然后對字符串處理
        String str = countAndSay(n-1) + "*";//為了str末尾的標記,方便循環(huán)讀數(shù)
        char[] c = str.toCharArray();
        int count = 1;
        StringBuilder s = new StringBuilder();
        for(int i = 0; i < c.length - 1;i++){
            if(c[i] == c[i+1]){
                count++;//計數(shù)增加
            }else{
                //s.append(s);
                s.append("" + count + c[i]);//上面的*標記這里方便統(tǒng)一處理
                count = 1;//初始化
            }
        }
        return s.toString();
    }

     如果只數(shù)一次,那么結果就是“1”,這是特殊情況;如果要數(shù)的次數(shù)大于1就要進入遞歸了。對于字符串我們自然無法對其中的字符進行操作,所以需要把String轉換成char數(shù)組。然后在for循環(huán)外面定義了一個count變量,主要作用是當出現(xiàn)連續(xù)的字符時進行累加,最后轉換成字符,這是最關鍵的一環(huán)。

    在做這個題目的過程中,剛開始用的是都是string,運行時間是30ms左右。后來把for循環(huán)中的string變量換成了Stringbuffer,執(zhí)行用時驟降至8ms。這給我了很大的啟示,不能再無腦的使用String,在適當?shù)臅r候使用合適的變量類型可以帶來很大的性能提升。

    但是在提交之后,我看到了用時1ms的范例。簡直是“投機取巧”的典型......因為測試用例就18個,所以switch cash寫了18中情況。這真的是太聰明了!?。?/p>

到此這篇關于Java實現(xiàn)LeetCode(報數(shù))的文章就介紹到這了,更多相關Java實現(xiàn)報數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • springboot?使用mybatis查詢的示例代碼

    springboot?使用mybatis查詢的示例代碼

    這篇文章主要介紹了springboot?使用mybatis查詢功能,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • java中應用Stack進行算術運算的操作

    java中應用Stack進行算術運算的操作

    這篇文章主要介紹了java中應用Stack進行算術運算的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • springboot如何使用sm2加密傳輸

    springboot如何使用sm2加密傳輸

    這篇文章主要介紹了springboot如何使用sm2加密傳輸問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Java?NIO實現(xiàn)聊天系統(tǒng)

    Java?NIO實現(xiàn)聊天系統(tǒng)

    這篇文章主要為大家詳細介紹了Java?NIO實現(xiàn)聊天系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • SpringBoot2 整合MinIO中間件實現(xiàn)文件便捷管理功能

    SpringBoot2 整合MinIO中間件實現(xiàn)文件便捷管理功能

    這篇文章主要介紹了SpringBoot2 整合MinIO中間件,實現(xiàn)文件便捷管理,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • java異或加密算法

    java異或加密算法

    這篇文章主要介紹了java異或加密算法,有需要的朋友可以參考一下
    2013-12-12
  • Java 8 對 ArrayList 元素進行排序的操作方法

    Java 8 對 ArrayList 元素進行排序的操作方法

    Java8提供了多種方式對ArrayList元素進行排序,包括使用Collections.sort()方法、Collections.reverseOrder()實現(xiàn)降序排序、使用Lambda表達式進行自定義排序、使用StreamAPI對ArrayList進行排序及按對象屬性排序,本文通過示例代碼介紹的非常詳細,感興趣的朋友一起看看吧
    2024-11-11
  • 新手了解java 類,對象以及封裝基礎知識

    新手了解java 類,對象以及封裝基礎知識

    JS是一門面向對象語言,其對象是用prototype屬性來模擬的,本文介紹了如何封裝JS對象,具有一定的參考價值,下面跟著小編一起來看下吧,希望對你有所幫助
    2021-07-07
  • Java中一些常見的并發(fā)集合類的使用

    Java中一些常見的并發(fā)集合類的使用

    并發(fā)集合是一種特殊的數(shù)據(jù)結構,它允許多個線程安全地訪問和修改,本文主要介紹了Java中一些常見的并發(fā)集合類的使用,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • 簡單了解Java刪除字符replaceFirst原理及實例

    簡單了解Java刪除字符replaceFirst原理及實例

    這篇文章主要介紹了簡單了解Java刪除字符replaceFirst原理及實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05

最新評論

赞皇县| 无棣县| 营口市| 蒙阴县| 太湖县| 富蕴县| 田东县| 黑山县| 台州市| 庆元县| 靖州| 璧山县| 日土县| 牙克石市| 岚皋县| 阳山县| 泸州市| 正宁县| 龙门县| 永顺县| 多伦县| 迭部县| 甘谷县| 绥宁县| 滨州市| 镇赉县| 阳江市| 舟曲县| 富民县| 新巴尔虎右旗| 迁安市| 宣恩县| 郯城县| 永康市| 四川省| 辽源市| 尉氏县| 高雄市| 五河县| 哈巴河县| 肥西县|