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

使用python语言滑窗做的,自测或本机测都没有问题,一直显示运算超时,可是时间复杂度o(n),也没有占用过多内存,看了一下很多小伙伴也遇到同样的问题,有知道原因的吗?#腾讯##笔试题目##题解##秋招#
全部评论
与求窗口内和的方法有关,直接用sum就会超时,改成减去出队的值再加上入队的值就可以了……
点赞 回复
分享
发布于 2019-08-17 22:42
kn还是n呀,n才能过
点赞 回复
分享
发布于 2019-08-17 22:42
春招专场
校招火热招聘中
官网直投
第一题就是每次算以下更新的差值,不要去每次都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
没有问题啊 就是on呗
点赞 回复
分享
发布于 2019-08-17 22:40
就是on啊
点赞 回复
分享
发布于 2019-08-17 22:44
请问能贴一下代码吗,我也是python,正确率一直是0😭快调哭了
点赞 回复
分享
发布于 2019-08-17 22:45
老哥能复述一下第一题嘛,非常感谢啦!
点赞 回复
分享
发布于 2019-08-17 22:56
点赞 回复
分享
发布于 2019-08-17 22:57

相关推荐

点赞 2 评论
分享
牛客网
牛客企业服务