[leetCode]1018. 可被 5 整除的二进制前缀

题目

https://leetcode-cn.com/problems/binary-prefix-divisible-by-5/

[leetCode]1018. 可被 5 整除的二进制前缀_第1张图片

模拟

i > 1N_i = N_i-1 * 2 + A[i],由于A很长所以需要注意溢出的情况,N_i = (N_i-1 * 2 + A[i])mod 5

class Solution {
     
    public List<Boolean> prefixesDivBy5(int[] A) {
     
        int n = A.length;
        int prefix = 0;
        List<Boolean> ans = new ArrayList<>();
        for (int i = 0; i < n; i++) {
     
            prefix = ((prefix << 1) + A[i]) % 5;
            ans.add(prefix == 0);
        }
        return ans;
    }
}

你可能感兴趣的:(LeetCode,#,数组)