class Solution:
def canJump(self, nums):
if len(nums) == 0:
return False
def DFS(nums):
if len(nums) == 1:
return True
for i in range(1,nums[0]+1):
return DFS(nums[i:])
#上面这两行代码如果改成 return DFS(nums[1:]、 DFS(nums[2:]......)则可以运行,但是引入for循环后,return就变为None)
S =Solution()
S.canJump([2,0,0])
想知道怎么解决?卡了我好久
在for循环里没有限制条件直接加return肯定有问题吧,每次运行到第一个就结束当前函数了,for循环里从第二个开始的都不会运行
你能说一下你想用这个函数干嘛么
你这个东西写的挺别扭的,外边调用的是canJump,然后运行canJump的时候,又调不到DFS,那怎么用你说的那段代码
当用for循环时,nums【0】是2,i取值1。2,。第二轮的nums为【0,0】,【0】,当nums为【0,0】时,for 循环中i=range(1,1),range函数从start开始不包括end。这里就没值