题解 | #dp# #跳跃游戏(一)#
跳跃游戏(一)
https://www.nowcoder.com/practice/23407eccb76447038d7c0f568370c1bd
#coding:utf-8
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param nums int整型一维数组
# @return bool布尔型
#
class Solution:
def canJump(self , nums ):
# write code here
#思路
##dp[i] 代表是否能跳到
##如果能,那么dp[i] 为True,最后判断dp[n - 1]是不是True
#init
dp = [0 for i in range(0, len(nums))]
dp[0] = True
print ("dp: ", dp)
right_bound = 0
#process
ret = False
for i in range(0, len(nums)):
#right_bound = i + nums[i]
if right_bound < i:
return False
if right_bound > len(nums) - 1:
return True
right_bound = max(right_bound, i + nums[i])
#right_bound = min(i + nums[i], len(nums) - 1)
#for j in range(i, right_bound + 1):
# dp[j] = True
#print ("Dp: ", dp)
return True
查看10道真题和解析