1018. Binary Prefix Divisible By 5

Difficulty:
Related Topics:
Similar Questions:

    Problem

    You are given a binary array nums (0-indexed).

    We define xi as the number whose binary representation is the subarray nums[0..i] (from most-significant-bit to least-significant-bit).

    Return **an array of booleans *answer* where answer[i] is true if xi is divisible by **5.

      Example 1:

    Input: nums = [0,1,1]
    Output: [true,false,false]
    Explanation: The input numbers in binary are 0, 01, 011; which are 0, 1, and 3 in base-10.
    Only the first number is divisible by 5, so answer[0] is true.
    

    Example 2:

    Input: nums = [1,1,1]
    Output: [false,false,false]
    

      Constraints:

    Solution (Java)

    class Solution {
        public List<Boolean> prefixesDivBy5(int[] nums) {
            List<Boolean> result = new ArrayList<>(nums.length);
            int remainder = 0;
            for (int j : nums) {
                remainder = (j + (remainder << 1)) % 5;
                result.add(remainder == 0);
            }
            return result;
        }
    }
    

    Explain:

    nope.

    Complexity: