首页 > 思科9.7笔试编程题
头像
最好的语言是什么
编辑于 2020-09-07 21:22
+ 关注

思科9.7笔试编程题

本菜狗难得做出来的题。
就遍历一次数组前n-1个元素(i=[0:n-2]),维护一个target的最大值max_num,target代表第当前元素最远能跳到哪个位置。
当遍历时碰到0的时候,就判断max_num是否大于i,如果大于i说明能跳过,小于等于i的话就说明无法跳过。
in_list = list(map(int, input()[1:-1].split(',')))
if len(in_list) == 1:
    print('true')
elif in_list[0] == 0:
        print('false')
else:
    # index_0 = []
    max_num = 0
    for i in range(len(in_list) - 1): 
        target = in_list[i] + i  # 目标点
        if target >= (len(in_list) - 1):  # 可以直接到终点
            print('true')
            break

        if in_list[i] == 0:
            # index_0.append(i)
            if i >= max_num:  # 无法跳过0
                print('false')
                break
            else:  # 可以跳过0
                continue
        elif target > max_num:
            max_num = target
    else:
        print('true')


全部评论

(0) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐