详见:https://leetcode.com/problems/magical-string/description/

C++:

方法一:

class Solution {
public:
    int magicalString(int n) {
        string s="122";
        int i=2;
        while(s.size()<n)
        {
            s+=string(s[i++]-'0',s.back()=='1'?'2':'1');
        }
        return count(s.begin(),s.begin()+n,'1');
    }
};

 方法二:

class Solution {
public:
    int magicalString(int n) {
        string s="122";
        int i=2;
        while(s.size()<n)
        {
            s+=string(s[i++]-'0',s.back()^3);
        }
        return count(s.begin(),s.begin()+n,'1');
    }
};

 参考:http://www.cnblogs.com/grandyang/p/6286540.html

https://blog.csdn.net/kakitgogogo/article/details/54864975

相关文章:

  • 2019-08-11
  • 2021-06-20
  • 2021-10-08
猜你喜欢
  • 2021-06-23
  • 2022-12-23
  • 2021-06-28
  • 2021-10-29
相关资源
相似解决方案