华为笔试第一道为啥只通过了80%

import sys

def getpath(lst):
    if lst == None or len(lst) == 0:
        return -1
    if len(lst) == 1:
        return 0
    mincount = sys.maxsize
    n = 1
    while n < len(lst) / 2:
        count = core(lst, n)
        n += 1
        if count == -1:
            continue
        if count < mincount:
            mincount = count
    if mincount == sys.maxsize:
        return -1
    return mincount

def core(lst, n):
    count = 1
    i = n
    while i < len(lst):
        if i == len(lst) - 1:
            return count
        num = lst[i]
        i = i + num
        count += 1
    return -1

if __name__ == '__main__':
    line =  sys.stdin.readline().strip()
    lst = list(map(int, line.split()))
    print(getpath(lst))

#笔试题目##华为#
全部评论
楼主第二题有思路吗?
点赞 回复 分享
发布于 2019-09-07 21:51

相关推荐

点赞 评论 收藏
分享
评论
点赞
5
分享

创作者周榜

更多
牛客网
牛客企业服务