题解 | #跳跃游戏(三)# Python3

跳跃游戏(三)

https://www.nowcoder.com/practice/d92a70f4f42248d688b93c9e50d2e757

import sys


# 下一个要跳跃的点,是在当前能跳跃的点里面,能跳最远的
# 因为其他点的话,当前能跳跃的点能到达其他所有点能跳跃的地方

n = int(input())


if n==0:
    print(-1)
elif n == 1:
    print(0)
else:
    nums = list(map(int,input().strip().split(' ')))
    boundary = nums[0]
    max_len = nums[0]
    time = 0
    next_boundary = nums[0]
    for i in range(1,n):
        next_boundary = max(nums[i]+i, next_boundary)
        next_boundary = min(next_boundary, n-1)
        if i == boundary:
            boundary = next_boundary
            time += 1
    if boundary < n-1:
        print(-1)
    else:
        print(time)




全部评论

相关推荐

不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
一名愚蠢的人类:多少games小鬼留下了羡慕的泪水
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务