two pointer method first run

This commit is contained in:
Jacob Delgado 2023-07-02 20:44:46 -07:00
parent cb07bc053b
commit 51a7634c6e

View File

@ -3,28 +3,55 @@ def canJump(nums):
:type nums: List[int] :type nums: List[int]
:rtype: bool :rtype: bool
""" """
# Each index value is the maximum you can jump from that position # # Each index value is the maximum you can jump from that position
maxJump = 0 # maxJump = 0
for x in range(len(nums)-1): # if len(nums) == 1:
maxJump += nums[x]
if nums[x] >= len(nums)-(x+1):
return True
# print(maxJump)
if nums[x] == 0:
print(x+1)
print(len(nums))
if nums[x+1] >= len(nums)-x:
return True
return False
return True
# if maxJump >= len(nums)-1:
# return True # return True
# else: # for x in range(len(nums)-1):
# return False # print(nums[x])
# maxJump += nums[x]
# if nums[x] >= len(nums)-(x+1):
# return True
# # print(maxJump)
# if nums[x] == 0:
# if x-1 >= 0 and nums[x-1] >=2:
# maxJump += nums[x]
# else:
# # print(x+1)
# # print(len(nums))
# # if nums[x+1] >= len(nums)-(x+2) and x+1 != len(nums)-1:
# # return True
# return False
# return False
# Double pointer method
start = 0
jump = len(nums)-2
# Case for single value array
if len(nums) == 1 or nums[start] >= len(nums)-1:
return True
while start <= jump:
print(f'start: {start}, value {nums[start]}')
print(f'jump index: {jump}, value: {nums[jump]}')
if nums[start] == 0:
return False
# check if jump is equal to end jump
if not nums[jump] >= (len(nums)-(jump+1)):
jump -= 1
if not nums[start + nums[start]] >= 0:
if start + nums[start] >= jump:
return True
start += 1
else:
start += 1
# print(canJump([2,3,1,1,4])) # print(canJump([2,3,1,1,4]))
print(canJump([3,2,1,0,4])) # print(canJump([3,2,1,0,4]))
# print(canJump([3,0,8,2,0,0,1])) # print(canJump([3,0,8,2,0,0,1]))
# print(canJump([2,0,2])) # print(canJump([2,0,2]))
print(canJump([2,5,0,0]))
# print(canJump([0,2,3]))
# print(canJump([2,0,0])) # print(canJump([2,0,0]))
# print(canJump([1,1,2,2,0,1,1])) # print(canJump([1,1,2,2,0,1,1]))
# print(canJump([5,9,3,2,1,0,2,3,3,1,0,0]))