## Description

https://leetcode.com/problems/check-if-all-1s-are-at-least-length-k-places-away/

Given an array `nums`

of 0s and 1s and an integer `k`

, return `True`

if all 1’s are at least `k`

places away from each other, otherwise return `False`

.

**Example 1:**

Input:nums = [1,0,0,0,1,0,0,1], k = 2Output:trueExplanation:Each of the 1s are at least 2 places away from each other.

**Example 2:**

Input:nums = [1,0,0,1,0,1], k = 2Output:falseExplanation:The second 1 and third 1 are only one apart from each other.

**Example 3:**

Input:nums = [1,1,1,1,1], k = 0Output:true

**Example 4:**

Input:nums = [0,1,0,1], k = 1Output:true

**Constraints:**

`1 <= nums.length <= 10`

^{5}`0 <= k <= nums.length`

`nums[i]`

is`0`

or`1`

## Explanation

Find the distance between 1’s and check if all distance are at least k places away..

## Python Solution

```
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).