题目描述
481. 神奇字符串
AC代码
这题用Java写超时了所以用C++写了遍
class Solution {
public:
int magicalString(int n) {
string s="122";
//先构造字符串
for(int i=2,k=1;i<n;i++,k=3-k){
for(int j=0;j<s[i]-'0';j++)
s+=to_string(k);
}
int res=0;
//遍历字符串,统计1的个数,注意,这里不是遍历整个字符串,而是遍历长度为n的子串
for(int i=0;i<n;i++)
res+=s[i]=='1';
return res;
}
};