zoukankan      html  css  js  c++  java
  • 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.

    Subscribe to see which companies asked this question

     
     
    从十七号早晨想了十七号一天,今天早上也在想。就这么一道题。就是没想出来,这种挫败感。
    用vector想了,栈想了,列表都想了,却单单没有想简单的用string实现。
     
    首先,扫描一个字符串,然后把次数和字符按顺序加入到一个新的字符串中,应该是一个独立函数的功能。
    其次,n应该是执行这个函数的一个循环次数,初始的字符串应该是“1”
     
    学习了~~以后这种题要注意。
    class Solution {
    public:
        string Ustring(string s){   //扫描一个字符串,
            int count=1;
            string ret;
            char tmp;
            char stmp=s[0];
            for(int i=1;i<s.length();i++){
                if(s[i]==stmp) {
                    count++;
                }else {
                    tmp=count+'0';
                    ret=ret+tmp+stmp;
                    stmp=s[i];
                    count=1;
                }
            }
            tmp=count+'0';
            ret=ret+tmp+stmp;
            return ret;
        }
        
        string countAndSay(int n) {
            string s="1";
            for(int i=1;i<n;i++){
                s=Ustring(s);
            }
            return s;
            
        }
    };
     
  • 相关阅读:
    笔试的坑 onsubmit事件
    正则之
    笔试:找出一个字符串中字符出现最多的次数和该字符
    createDocumentFragment和insertAdjacentHTML
    css权威指南学习笔记--第七章
    使用gulp-minify-css的坑
    arguments[0]() 笔试题的坑
    快速搭建本地服务器
    voxel折腾指南
    力扣第72题 编辑距离
  • 原文地址:https://www.cnblogs.com/LUO77/p/5058276.html
Copyright © 2011-2022 走看看