字符串38. 外观数列

Posted ocpc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串38. 外观数列相关的知识,希望对你有一定的参考价值。

题目:

技术图片

 

 

解答:

递归+记忆。

class Solution {
public:
    unordered_map<int,string> map;
    string countAndSay(int n) 
    {
        string res;
        if(map.count(n)) 
        {
            return map[n];
        }
        else if(n==1) 
        {
            res="1";
        }
        else if(n==2) 
        {
            res="11";
        }
        else
        {
            string pre=countAndSay(n-1);
            int count = 1;
            for(int i=0;i < pre.size(); i++)
            {
                if(i+1==pre.size()||pre[i]!=pre[i+1]) 
                {
                    res+=(to_string(count)+pre[i]);
                    count=1;
                }
                else 
                {
                    count++;
                }
            }
        }
        map[n]=res;
        return res;
    }
};

 

以上是关于字符串38. 外观数列的主要内容,如果未能解决你的问题,请参考以下文章

leetcode38 外观数列(Easy)

Leetcode 38.外观数列

38. 外观数列[C++,模拟]

38. 外观数列[C++,模拟]

38. 外观数列[C++,模拟]

38. 外观数列[C++,模拟]