腾讯算法笔试,第一题:拆栅栏

题意大致是,一个数组表示栅栏的高度,小明要拆除连续的 k 个 栅栏,并且保证栅栏高度总和最小
一开始 用 列表模拟,不停进队 出队操作,然后超时
后来改用一个 变量 存储 数字和 来做 AC 100%
if __name__ == "__main__":
    n, k = [int(x) for x in input().strip().split(' ')]
    h = [int(x) for x in input().strip().split(' ')]
    res = 0
    for i in range(k):
        res += h[i]
    ans = res
    index = 0
    for i in range(k, n):
        res -= h[i-k]
        res += h[i]
        if res < ans:
            ans = res
            index = i-k+2
    print(index)



#腾讯##笔试题目#
全部评论

相关推荐

02-10 12:23
已编辑
新余学院 C++
采集想要offer:专业技能那里要一条一条的列出来吧,感觉你项目很厉害了,但是如果你不写技术栈面试官对你项目不太懂的话都没办法问你八股😂C++都是基架岗,都是一群9✌🏻在卷,我觉得你要是有时间学个go把MySQL和redis写上去找个开发岗吧
点赞 评论 收藏
分享
2024-12-23 11:36
中南大学 Java
点赞 评论 收藏
分享
评论
2
6
分享

创作者周榜

更多
牛客网
牛客企业服务