腾讯面试遇到的一道题,请各路大神帮忙看看

面试官说答案应该是O(logN)的复杂度,O(n)级别的就不需要的了。。。

#面试题目##腾讯#
全部评论
二分
1 回复 分享
发布于 2020-08-25 23:37
最差怎么可能是logn,楼上那个做法最好情况是全员1000,nlogk/k。
1 回复 分享
发布于 2020-08-26 07:29
n很大时,重复数大于1000的复杂度和重复数大于1的复杂度没有区别,结合lowerbound和upperbound的这类二分是做不到log n的,思考n个有序数字中找出有重复的数字这个问题,假设每个数字重复1次,那么答案的复杂度是n/2,不管你用什么办法,输出答案的复杂度就已经超过log n了,所以,面试官复杂度估计是有误的。
1 回复 分享
发布于 2020-08-26 08:18
快排思路
点赞 回复 分享
发布于 2020-08-25 23:32
题目呢
点赞 回复 分享
发布于 2020-08-25 23:36
兄弟,写思路和算法复杂度,是指写伪代码还是直接说思路出来就可以哦?需要完成的把代码写出来吗?
点赞 回复 分享
发布于 2020-08-26 02:02
leetcode有这道题,二分法,就是logn
点赞 回复 分享
发布于 2020-08-26 08:52
M
点赞 回复 分享
发布于 2020-08-26 09:03
分治?每次二分成两半,判断中间交界的是不是,是就两半的加上交界的,不是就等于两半的加起来,应该是logN
点赞 回复 分享
发布于 2020-08-26 09:09
和剑指offer求旋转数组的最小值一样的做法,兄弟
点赞 回复 分享
发布于 2020-08-26 10:37
可以尝试一下倍增法
点赞 回复 分享
发布于 2020-08-26 11:10

相关推荐

牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
11-05 07:29
贵州大学 Java
点赞 评论 收藏
分享
1 20 评论
分享
牛客网
牛客企业服务