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

全部评论

相关推荐

06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
06-07 17:17
嘉兴学院 教师
心爱的idea:你孩
点赞 评论 收藏
分享
测试糕手手:社会第一课,随便吹牛逼,直接说四个月,别老实。老实人只会被欺负
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务