社区
C++ 语言
帖子详情
询问一道面试算法
quickSort
2013-10-24 04:43:13
有一个数组a[n],前面一部分和后面一部分是单独有序的(升序),但是整个数组是无序的,并且数组的最后一个元素小于第一个元素。
例如:
21, 29, 30, 40, 1, 3, 9, 11, 12, 16
但是你并不知道出现下降的点在哪里。
现在给你一个数x,要求在小于O(n)的复杂度内找到x,如果存在返回下标,不存在返回-1.
注意:n很大(千万级别),及时你的复杂度是O(0.01n),其实仍然是O(n);如果你的复杂度是100O(logn),那么仍然是logn.
...全文
212
5
打赏
收藏
询问一道面试算法
有一个数组a[n],前面一部分和后面一部分是单独有序的(升序),但是整个数组是无序的,并且数组的最后一个元素小于第一个元素。 例如: 21, 29, 30, 40, 1, 3, 9, 11, 12, 16 但是你并不知道出现下降的点在哪里。 现在给你一个数x,要求在小于O(n)的复杂度内找到x,如果存在返回下标,不存在返回-1. 注意:n很大(千万级别),及时你的复杂度是O(0.01n),其实仍然是O(n);如果你的复杂度是100O(logn),那么仍然是logn.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
quickSort
2013-10-24
打赏
举报
回复
唉,当时考虑复杂了。。。。。。。。。。。。。。
名字到底多长
2013-10-24
打赏
举报
回复
。。。就是二分法查找。。。。。我博客里有代码的。。。
rocktyt
2013-10-24
打赏
举报
回复
不好意思,为防止误解,说明一下 2楼找到的是下降点,找到下降点后再来一次2分就找到x了
rocktyt
2013-10-24
打赏
举报
回复
很简单啊,就是普通的2分 取中点,和头比较,头>中点则在前半段,否则在后半段
quickSort
2013-10-24
打赏
举报
回复
如果把前面的升序部分移到后面就可以用二分查找了。。。。。 或者分别用二分查找,但是下降的那个点怎么找呢?
小米
面试
——计算机视觉
算法
实习生
13.虚函数表(原来就是虚表,卤煮答 没听过啊,这里
面试
官笑了,说“没听过不要紧,我们换下
一道
”)面完百度了一下,主要就是 动态绑定,继承类调用基类虚函数,指针数组,虚函数的指针什么的。6.买卖股票的合适...
程序员
面试
题精选
算法
58题加答案
【转】程序员
面试
题精选
算法
58题加答案 .2012-03-03 15:53 519人阅读 评论(0) 收藏 举报
面试
算法
matrixinputnullinteger 这篇文章总结的非常好,以防以后找不到,在此转载。 程序员
面试
题精选(01)-把二元查找树...
盘点
面试
中常见的超大规模数据场景
算法
问题
在大部分
算法
题目中,默认给定的数据量都很小的,例如只有几个或者十几个元素,但是如果将数据量提高到百万甚至十几亿,那处理逻辑就会发生很大差异,这也是
算法
考查中,经常出现的一类问题。此时普通的数组、链表、...
booking.com上海
面试
2.电话技术
面试
和业务相关的
算法
题
一道
, 用map可以解决,偏业务性的代码,基本的数据结构考察,以及Corner case 业务场景沟通。 代码也是按需求编写即可 3. onsite 1.
算法
给定一个棋盘,m,n 起点x1,y1 终点x2,y2...
递归
算法
的时间复杂度
本篇通过
一道
面试
题,一个
面试
场景,来好好分析一下如何求递归
算法
的时间复杂度。 相信很多同学对递归
算法
的时间复杂度都很模糊,那么这篇来给大家通透的讲一讲。 同
一道
题目,同样使用递归
算法
,有的同学会写出了...
C++ 语言
64,639
社区成员
250,578
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章