Given an array
nums of 0s and 1s and an integer
True if all 1’s are at least
k places away from each other, otherwise return
Input: nums = [1,0,0,0,1,0,0,1], k = 2 Output: true Explanation: Each of the 1s are at least 2 places away from each other.
Input: nums = [1,0,0,1,0,1], k = 2 Output: false Explanation: The second 1 and third 1 are only one apart from each other.
Input: nums = [1,1,1,1,1], k = 0 Output: true
Input: nums = [0,1,0,1], k = 1 Output: true
1 <= nums.length <= 105
0 <= k <= nums.length
Find the distance between 1’s and check if all distance are at least k places away..
class Solution: def kLengthApart(self, nums: List[int], k: int) -> bool: i = None for j, num in enumerate(nums): if num == 1: if i != None and j - i <= k: return False i = j return True
- Time Complexity: O(N).
- Space Complexity: O(1).