problem
xiangjian Look-and-say sequence
https://en.wikipedia.org/wiki/Look-and-say_sequence
code
class Solution { public: string countAndSay(int n) { if(n<1) return ""; string res = "1"; string tmp; for(int i=1; i<n; i++)//run from starting to generate second string. { int len = res.size(); for(int j=0; j<len; j++)//check all digits in the string. { int count = 1;//we have at least 1 occurrence of each digit. while((j+1<len)&&(res[j]==res[j+1]))//get the number of times same digit occured. { count++; j++;//keep increasing the index inside of the string. } tmp += to_string(count) + res[j];//add to new string "count"+"digit". } res = tmp;//save string result. tmp.clear();//clear string-helper. } return res; } };
参考
1.leetcode;
完