AFAIK, python pass reference by default. But in this case of `A[x:]`

, they will do a deep copy, which means it will consume a pile of memory in the entire recursion.

I did some change like below. At least, it isn't MLE any more.

```
class Solution:
# @param A, a list of integers
# @return a boolean
def canJumpIntern(self, A, pos):
if A[pos] >= len(A) - 1:
return True
return any(self.canJumpIntern(A, x) for x in range(1,A[pos]))
def canJump(self, A):
pos = 0
if A[0] == 0 and len(A) != 1:
return False
return self.canJumpIntern(A, 0)
```

Maybe I am wrong, I don't quite understand what exactly the strategy in your code. For example, `A[pos]`

stands for length. So, `x`

is also a length. How to understand it becomes a index `A[x:]`

though?

I suggest to elaborate the idea.