#include<math.h>
class Solution {
public:
vector<bool> prefixesDivBy5(vector<int>& A) {
int l = A.size();
vector<bool> res(l);
int remain = 0;
for(int i=0;i<l;i++)
{
if(A[i]==1)
{
remain = (remain*2 + 1) %10;
}
else{
remain = (remain*2)%10;
}
//cout<<remain<<endl;
if(remain==0||remain==5)res[i]=true;
else res[i]=false;
}
return res;
}
};
本文详细解析了一段C++代码,该代码用于判断一个二进制数组的每个前缀是否能被5整除。通过动态计算余数的方法,实现了高效判断。文章深入分析了代码逻辑,展示了如何处理二进制数组并将其转换为十进制数进行判断。
338

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



