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

java 題解LeetCode38外觀數(shù)列示例

 更新時(shí)間:2023年08月01日 08:43:01   作者:一直流浪  
這篇文章主要為大家介紹了java 題解LeetCode38外觀數(shù)列示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

LeetCode 38. 外觀數(shù)列(難度:簡(jiǎn)單)

題目鏈接:https://leetcode-cn.com/problems/count-and-say/

問(wèn)題描述:

給定一個(gè)正整數(shù) n(1 ≤ n ≤ 30),輸出外觀數(shù)列的第 n 項(xiàng)。

注意:整數(shù)序列中的每一項(xiàng)將表示為一個(gè)字符串。

「外觀數(shù)列」是一個(gè)整數(shù)序列,從數(shù)字 1 開(kāi)始,序列中的每一項(xiàng)都是對(duì)前一項(xiàng)的描述。前五項(xiàng)如下:

1.     1
2.     11
3.     21
4.     1211
5.     111221

第一項(xiàng)是數(shù)字 1

描述前一項(xiàng),這個(gè)數(shù)是 1 即 “一個(gè) 1 ”,記作 11

描述前一項(xiàng),這個(gè)數(shù)是 11 即 “兩個(gè) 1 ” ,記作 21

描述前一項(xiàng),這個(gè)數(shù)是 21 即 “一個(gè) 2 一個(gè) 1 ” ,記作 1211

描述前一項(xiàng),這個(gè)數(shù)是 1211 即 “一個(gè) 1 一個(gè) 2 兩個(gè) 1 ” ,記作 111221

示例 1:

輸入: 1
輸出: "1"
解釋:這是一個(gè)基本樣例。

示例 2:

輸入: 4
輸出: "1211"
解釋:當(dāng) n = 3 時(shí),序列是 "21",其中我們有 "2" 和 "1" 兩組,"2" 可以讀作 "12",也就是出現(xiàn)頻次 = 1 而 值 = 2;類似 "1" 可以讀作 "11"。所以答案是 "12" 和 "11" 組合在一起,也就是 "1211"。

解法一:暴力法

按照題目思路,一輪一輪遍歷字符串,得到最后結(jié)果。

class Solution {
    public String countAndSay(int n) {
        String num = "1";
        String result = "1";
        char a = 'a';
        int flag = 0;
        for(int i = 1;i<n;i++) {
            result = "";
            a = 'a';
            flag = 0;
            while(true) {
                if(num.length() == 0) {
                    result = result + flag + a;
                    num = result;
                    break;
                }
                char c = num.charAt(0);
                if(a == c) {
                    flag++;
                }else {
                    if(a != 'a') {
                        result = result + flag + a;
                    }
                    a = c;
                    flag = 1;
                }
                num = num.substring(1);
            }
        }
        return result;
    }
}

解法二:遞歸法

利用遞歸的特性,依次計(jì)算出最終的結(jié)果

class Solution {
    public String countAndSay(int n) {
        if(n == 1) {
            return "1";
        }
        StringBuilder result = new StringBuilder();
        String s = countAndSay(n-1);
        int len = s.length();
        int a = 0;
        for(int i = 1;i<len +1;i++) {
            if(i == len) {
                return result.append(i-a).append(s.charAt(a)).toString();
            }else if (s.charAt(i)!=s.charAt(a)) {
                result.append(i-a).append(s.charAt(a));
                a = i;
            }
        }
        return result.toString();
    }
}

以上就是java外觀數(shù)列的詳細(xì)內(nèi)容,更多關(guān)于java外觀數(shù)列的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java Iterator.remove()實(shí)例方法分析

    java Iterator.remove()實(shí)例方法分析

    在本篇文章里小編給大家整理了一篇關(guān)于java Iterator.remove()實(shí)例方法分析,有興趣的朋友們跟著學(xué)習(xí)下。
    2021-01-01
  • springboot的yml配置文件通過(guò)db2的方式整合mysql的教程

    springboot的yml配置文件通過(guò)db2的方式整合mysql的教程

    這篇文章主要介紹了springboot的yml配置文件通過(guò)db2的方式整合mysql的教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java 十大排序算法之冒泡排序刨析

    Java 十大排序算法之冒泡排序刨析

    冒泡排序是一種簡(jiǎn)單的排序算法,它也是一種穩(wěn)定排序算法。其實(shí)現(xiàn)原理是重復(fù)掃描待排序序列,并比較每一對(duì)相鄰的元素,當(dāng)該對(duì)元素順序不正確時(shí)進(jìn)行交換。一直重復(fù)這個(gè)過(guò)程,直到?jīng)]有任何兩個(gè)相鄰元素可以交換,就表明完成了排序
    2021-11-11
  • Java?Kryo,Protostuff,Hessian序列化方式對(duì)比

    Java?Kryo,Protostuff,Hessian序列化方式對(duì)比

    這篇文章主要介紹了Java?Kryo,Protostuff,Hessian序列化方式對(duì)比,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • Java中類轉(zhuǎn)json的基類實(shí)現(xiàn)

    Java中類轉(zhuǎn)json的基類實(shí)現(xiàn)

    這篇文章主要介紹了Java中類轉(zhuǎn)json的基類實(shí)現(xiàn),需要的朋友可以參考下
    2021-01-01
  • SpringBoot實(shí)現(xiàn)返回值數(shù)據(jù)脫敏的步驟詳解

    SpringBoot實(shí)現(xiàn)返回值數(shù)據(jù)脫敏的步驟詳解

    這篇文章主要給大家介紹一下SpringBoot實(shí)現(xiàn)返回值數(shù)據(jù)脫敏的步驟,文章通過(guò)代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Java使用Spire.Doc for Java實(shí)現(xiàn)Word自動(dòng)化插入圖片

    Java使用Spire.Doc for Java實(shí)現(xiàn)Word自動(dòng)化插入圖片

    在日常工作中,Word文檔是不可或缺的工具,而圖片作為信息傳達(dá)的重要載體,其在文檔中的插入與布局顯得尤為關(guān)鍵,下面我們就來(lái)看看如何使用Spire.Doc for Java實(shí)現(xiàn)Word文檔自動(dòng)化插入圖片吧
    2025-12-12
  • Java?面向?qū)ο笸ㄟ^(guò)new揭開(kāi)對(duì)象實(shí)例化

    Java?面向?qū)ο笸ㄟ^(guò)new揭開(kāi)對(duì)象實(shí)例化

    各位鐵汁們大家好呀,我們上次博客講了,通過(guò)?Student?student1?=?new?Student();就可以實(shí)例化一個(gè)對(duì)象,這個(gè)對(duì)象就有Student類中的所以成員變量??墒?對(duì)象student1?和?類Student到底是怎樣建立聯(lián)系的,在內(nèi)存中到底發(fā)生了什么
    2022-04-04
  • IDEA設(shè)置允許一個(gè)類并行的方法

    IDEA設(shè)置允許一個(gè)類并行的方法

    這篇文章主要介紹了IDEA設(shè)置允許一個(gè)類并行的方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • Spring HandlerInterceptor實(shí)現(xiàn)原理代碼解析

    Spring HandlerInterceptor實(shí)現(xiàn)原理代碼解析

    這篇文章主要介紹了Spring HandlerInterceptor實(shí)現(xiàn)原理代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論

磐石市| 桓台县| 大新县| 视频| 平顺县| 建阳市| 隆安县| 阜城县| 株洲县| 白银市| 霍城县| 衢州市| 大连市| 庆云县| 原阳县| 鄂托克旗| 冷水江市| 织金县| 桐庐县| 镇坪县| 原阳县| 东阿县| 鹿泉市| 察隅县| 靖江市| 康乐县| 绥滨县| 双柏县| 金坛市| 龙江县| 黎城县| 海兴县| 神农架林区| 黔西| 新宁县| 昌图县| 沙洋县| 南充市| 新巴尔虎右旗| 宁国市| 海安县|