腾讯算法笔试第一题砍栅栏的,看总和最少的k个栅栏

使用python语言滑窗做的,自测或本机测都没有问题,一直显示运算超时,可是时间复杂度o(n),也没有占用过多内存,看了一下很多小伙伴也遇到同样的问题,有知道原因的吗?#腾讯##笔试题目##题解##秋招#
全部评论
第一题就是每次算以下更新的差值,不要去每次都k个求和,代码量也不大 def f(arr, n, k): ret_idx = 0 delta, min_delta = 0, 0 for i in range(k, n): new_delta = delta + arr[i] - arr[i - k] if new_delta < min_delta: min_delta = new_delta ret_idx = i - k + 1 delta = new_delta return ret_idx + 1 哈哈关键是第二题,搞了半天,那个测试用例2为啥是“No”,搞不懂
点赞 回复 分享
发布于 2019-08-17 23:02
kn还是n呀,n才能过
点赞 回复 分享
发布于 2019-08-17 22:42
与求窗口内和的方法有关,直接用sum就会超时,改成减去出队的值再加上入队的值就可以了……
点赞 回复 分享
发布于 2019-08-17 22:42
点赞 回复 分享
发布于 2019-08-17 22:57
老哥能复述一下第一题嘛,非常感谢啦!
点赞 回复 分享
发布于 2019-08-17 22:56
请问能贴一下代码吗,我也是python,正确率一直是0😭快调哭了
点赞 回复 分享
发布于 2019-08-17 22:45
就是on啊
点赞 回复 分享
发布于 2019-08-17 22:44
没有问题啊 就是on呗
点赞 回复 分享
发布于 2019-08-17 22:40

相关推荐

06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务