题解 | #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