题目描述:https://www.lintcode.com/problem/binary-stream/description
一开始觉得这个题把二进制数算出来就可以了,但是问题在于字符串太长了一定会超过上限。题目中只要求输出能被3整除的位数,而不要求输出这个数本身,那只要知道能不能被3整除就行了。
class Solution {
public:
vector<int> getOutput(string &s) {
vector<int> res;
long int sum=0;
for (int i=0;i<s.length();i++)
{
sum=sum*2+(s[i]-'0');
sum=sum%3;
if (sum==0) res.push_back(i+1);
}
return res;
}
};