• [LeetCode] Count and Say


    The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21, 1211, 111221, ...

    1 is read off as "one 1" or 11. 11 is read off as "two 1s" or 21. 21 is read off as "one 2, then one 1" or 1211.

    Given an integer n, generate the nth sequence.

    Note: The sequence of integers will be represented as a string.

    class Solution {
    public:
        string countAndSay(int n) {
            string result("1");
            string pre(result);
            for(int i=1;i<n;i++){
                int len = pre.size();
                result.clear();
                for(int j=0;j<len;){
                    char cur = pre[j];
                    int start = j;
                    j++;
                    while(j<len && cur == pre[j])
                        j++;
                    int end = j;
                    int num = end - start;
                    result += intToS(num);
                    result.push_back(pre[start]);
    
                
                }//end for
               pre = result;
            }//end for
            return result;
        }//end func
    private:
        string intToS(int n){
            ostringstream os;
            os<<n;
            string s;
            s = os.str();
            return s;
        }
    };
  • 相关阅读:
    网络对抗实验一
    计蒜课--顺序表查找、删除、遍历操作的复习
    实验六
    实验五
    实验四
    实验三
    python补码转源码
    教学设计的方法
    十、python进程和线程
    九、文件和异常
  • 原文地址:https://www.cnblogs.com/Xylophone/p/3926005.html
Copyright © 2020-2023  润新知