class Solution:
def kLengthApart(self, nums: List[int], k: int) -> bool:
res = []
for idx,val in enumerate(nums):
if val == 1:
res.append(idx)
if not res and k == 0:
return True
for each in range(1,len(res)):
if (res[each]-res[each-1]-1) < k:
return False
return True
optimised solution
class Solution:
def kLengthApart(self, nums: List[int], k: int) -> bool:
prev = -1
for idx,val in enumerate(nums):
if val == 1:
if prev != -1 and idx-prev-1 < k :
return False
prev = idx
return True