lc1018-可被5整除的二进制前缀
题目描述
- 给定一个二进制数组 nums,计算每个“前缀和”是否能被 5 整除
示例
输入:nums = [0,1,1]
输出:[true,false,false]
解释:0 0b01 0b011
输入:nums = [1,1,1]
输出:[false,false,false]
题解
- 思路:模拟(通过取模防止溢出)
func prefixesDivBy5(nums []int) []bool {
res := make([]bool, len(nums))
num := 0
for i, v := range nums {
num = (num << 1 | v) % 5
res[i] = num == 0
}
return res;
}

浙公网安备 33010602011771号