题解:
class Solution {
public:
vector<bool> prefixesDivBy5(vector<int>& A) {
vector<bool> result;
if(A.size() <= 0) {
// RVO
return result;
}
result.resize(A.size(), false);
int res = 0;
for(int i = 0; i < A.size(); ++i) {
// 二进制左移动一位,扩大二倍
// %5是为了防止超过数字范围,溢出
res = ((res << 1) + A[i]) % 5;
if(res == 0) {
result[i] = true;
}
}
// RVO
return result;
}
};