code
unknown
python
2 years ago
906 B
5
Indexable
class Solution: def canJump(self, nums: List[int]) -> bool: if len(nums) == 1: return True t = len(nums) - 1 checkList = [False for i in range(t + 1)] checkList[0] = True queue = [0] resJump = dict()#list() for i, elem in zip(range(len(nums) - 1, -1, -1), nums): resJump[i] = [i + bet for bet in range(1, elem + 1) if (i + bet < len(nums))] #resJump.append([i + bet for bet in range(1, elem + 1) if (i + bet < t + 1)]) print(resJump) while len(queue) > 0: v = queue.pop(0) for neighbor in resJump[v]: if not checkList[neighbor]: if neighbor == t: return True queue.append(neighbor) checkList[neighbor] = True return False
Editor is loading...