题意:将连续相同数字的个数加到该数字之前。
思路:迭代暴力。
class Solution {
public:
string countAndSay(int n) {
string s;
s = "1";
for(int i = 1; i < n; ++ i) {
string tempss;
for(unsigned j = 0; j < s.length();) {
int num = 0;
char c = s[j];
unsigned k = j;
while(k < s.length()) {
if(s[k] != s[j]) break;
k ++;
num ++;
}
if(k == s.length()) {
tempss += ('0' + num);
tempss += c;
break;
}
else {
j = k;
tempss += ('0' + num);
tempss += c;
}
}
s = tempss;
}
return s;
}
};

本文介绍了一个通过迭代实现的计数并描述序列算法。该算法对于给定的整数n,生成第n个序列。具体实现中使用了字符串操作来完成对序列中连续数字的计数,并将计数结果添加到数字前。
494

被折叠的 条评论
为什么被折叠?



