From some position you go left and right
if left or right not in region skip
if we are at 0 return True
if we have been there before skip
def jumpGame(arr,start):
memory = {}
def helper(mem,start):
if start < 0 or start > len(arr) - 1: return False
if start in mem: return False
if arr[start] == 0: return True
mem[start] = 1
return helper(mem,start+arr[start]) or helper(mem,start-arr[start])
return helper(memory,start)
print(jumpGame([3, 4, 2, 3, 0, 3, 1, 2, 1],7))
print(jumpGame([3, 4, 1, 3, 0, 3, 1, 2, 1],7))
I hope I get back tracking examples, these take me like 3-5 mins to do. Everything besides these take me ages usually -___-