![JAR search and dependency download from the Maven repository](/logo.png)
g1001_1100.s1018_binary_prefix_divisible_by_5.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g1001_1100.s1018_binary_prefix_divisible_by_5;
// #Easy #Array #2022_02_25_Time_3_ms_(84.58%)_Space_49.7_MB_(32.50%)
import java.util.ArrayList;
import java.util.List;
/**
* 1018 - Binary Prefix Divisible By 5\.
*
* Easy
*
* 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).
*
* * For example, if `nums = [1,0,1]`, then x0 = 1
, x1 = 2
, and x2 = 5
.
*
* 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:**
*
* * 1 <= nums.length <= 105
* * `nums[i]` is either `0` or `1`.
**/
public class Solution {
public List prefixesDivBy5(int[] nums) {
List result = new ArrayList<>(nums.length);
int remainder = 0;
for (int j : nums) {
remainder = (j + (remainder << 1)) % 5;
result.add(remainder == 0);
}
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy