美文网首页
计蒜客 第十九题 跳跃游戏二

计蒜客 第十九题 跳跃游戏二

作者: Sourcils | 来源:发表于2018-08-15 13:52 被阅读0次

给定一个非负整数数组,假定你的初始位置为数组第一个下标。

数组中的每个元素代表你在那个位置能够跳跃的最大长度。

你的目标是到达最后一个下标,并且使用最少的跳跃次数。

例如:

A=[2,3,1,1,4],到达最后一个下标的最少跳跃次数为 2。(先跳跃 1 步,从下标 0 到 1,然后跳跃 3 步,到达最后一个下标。一共两次)

输入格式

第一行输入一个正整数 n(1≤n≤100) ,接下来的一行,输入 n 个整数,表示数组 A。

输出格式

最后输出最少的跳跃次数。

样例输入

5
3 1 1 1 1
样例输出

2

这题花了很长时间,实在没有思路,去看了下别人的做法,看到了关于边界的说法,然后开始自己尝试这种思路

a = int(input())
B = input().split()
j = 0
# 判断B的长度
while len(B) > 1: 
    X = []
    # 判断B的长度和第一个元素的大小
    while int(B[0]) < len(B) - 1: 
        #循环得到之后每一步的最大边界
        for b in range(1, int(B[0])+1): 
            X.append(int(B[b]) + b)
        # 得到边界最大的元素下标
        max_index = X.index(max(X)) 
        # 把之前的脚步抹去
        B = B[max_index+1:]
        # 计步数
        j = j + 1
        break
    else:
        print(j + 1, end="")
        B = []
else:
    # 如果B的长度等于 1 输出 0
    if len(B) == 1:
        print(0)

然后又想了想把不抹脚印方式

a = int(input())
B = input().split()
j = 0
i = 0
# 判断所在位置的元素是否能一步走到
while len(B)-1 > int(B[i]) + i:
    X = []
    #循环得到之后每一步的最大边界
    for b in range(1, int(B[i])+1):  
        X.append(int(B[i+b]) + b)
    # 得到边界最大的元素下标
    max_index = X.index(max(X)) 
    # 走一步,并记录位置
    i = i + max_index + 1
    j = j + 1
else:
    # 如果B的长度为 1 输出 0
    if len(B) == 1 :
        print(0)
    else:
        print(j+1)

相关文章

  • 计蒜客 第十九题 跳跃游戏二

    给定一个非负整数数组,假定你的初始位置为数组第一个下标。 数组中的每个元素代表你在那个位置能够跳跃的最大长度。 你...

  • 计蒜客 跳跃游戏二

    今天继续写一道动态规划题目 给定一个非负整数数组,假定你的初始位置为数组第一个下标。 数组中的每个元素代表你在那个...

  • 计蒜客-跳跃游戏(贪心)

    链接如下: 跳跃游戏 - 题库 - 计蒜客 给定一个非负整数数组,假定你的初始位置为数组第一个下标。数组中的每个元...

  • 计蒜客=跳跃游戏2(dp)

    链接如下: 跳跃游戏二 - 题库 - 计蒜客 这是上一个条约游戏的延伸.看到这题第一个想法是把所有情况列出来,但是...

  • 计蒜客 第十七题 跳跃游戏

    给定一个非负整数数组,假定你的初始位置为数组第一个下标。 数组中的每个元素代表你在那个位置能够跳跃的最大长度。 请...

  • 2019 计蒜之道 复赛A. 外教 Michale 变身大熊猫(

    标签(空格分隔): 题解(计蒜客) ps:计蒜之道复赛2题拿T-shirt.但是我好菜啊。只拿了一题 本题要求

  • 计蒜客 第二题 整除问题

    判断一个数是否能被另一个整数整除是一个挺简单的问题,一般一个模运算就可以搞定了,懒惰的晓萌还是不想自己做,于是找到...

  • 计蒜客_新报数游戏

    Time 2000ms RAM 32767K 题面: 蒜头君在和他的朋友们一起玩一个游戏。由于蒜头君的机智,这个 ...

  • 计蒜客 - 闯关游戏 | SPFA

    今天分享一道有关 SPFA 单源最短路的算法题。 蒜头君在玩一个很好玩的游戏,这个游戏一共有至多 个地图,其中地...

  • 计蒜客(一)

    原题地址:判断元素是否存在 - 题库 - 计蒜客 蒜头君有一个集合 M 是这样生成的: (1) 已知 k 是集合 ...

网友评论

      本文标题:计蒜客 第十九题 跳跃游戏二

      本文链接:https://www.haomeiwen.com/subject/hgtbbftx.html