剑指 Offer 11. 旋转数组的最小数字
admin
2024-04-21 05:41:10
0

题目:

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。

给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最小值为 1。  

示例:

输入:numbers = [2,2,2,0,1]
输出:0

解题思路:

这题的难度是简单,但我觉得不简单哈。想着是用二分查找,但是却没有一个好的下手点。

看了答案明白了。简单说说其想法。

用数组的最后一个元素中间位置的元素进行比较。

首先,这题目没有target数字给我们进行比较。而二分查找是需要比较的。那用什么来和中间位置的元素进行比较呢。

考虑数组中的最后一个元素 x(上面的例子是1):

在最小值(上面的例子是0)右侧的元素,它们的值一定都小于等于 x(数字1);而在最小值左侧的元素,它们的值一定都大于等于 x(数字1)。因此,我们可以根据这一条性质,通过二分查找的方法找出最小值。

考虑数组中第一个元素A

在最小值右侧的元素,它们的值一定都小于等于A;而在最小值左侧的元素,它们的值一定都大于等于x。

但是当其数组是不旋转,就直接是按照升序排列的话,用最左边元素和中间元素进行比较就会出问题

在该数组是就升序排序的情况,int left=0;int right=numers.size()-1;

当中间元素和最左边的元素进行比较的时候,这时最左边的元素是<中间元素的,那按照我们的想法,那left会增加。

而一直比较下去,最左边的元素是一直 < 中间元素,所以left会到达最右边的位置,这时就是找到最大值了,就不符合要求。

所以要通过最左边的元素和中间元素去比较找到的是最大的元素。

所以可以通过比较最后一个元素和中间位置的元素来查找。而不能通过最左边的元素和中间位置的元素来比较去查找。

知道了是要比较中间位置的元素和最右边元素,那接着就是去理顺各种情况的边界值就好了。

那比较就有三种情况:=,>,<。

 int minArray(vector& numbers) {//取最后一个和中间的进行比较int left=0;int right=numbers.size()-1;//范围 []while(left<=right){int mid=left+((right-left)>>1);if(numbers[mid]numbers[right]){//左边>右边,说明要继续在左边的右侧去寻找left=mid+1;}}return numbers[left];}

相关内容

热门资讯

土耳其拟加入加拿大牵头的防务银... 新华社北京7月14日电 一名土耳其官员13日告诉路透社,土方已通报加拿大,将作为创始成员加入加方牵头...
视频丨VR、实景AI加速落地 ... 国家统计局近日发布数据显示,2025年全年,我国的文化产业营收突破20万亿元,数字驱动的文化新业态引...
把上海外环盘做成“市区爆款”,... 2026年7月9日,由北京中指信息技术研究院主办,中国房地产指数系统、中国物业服务指数系统承办的“中...
美银力挺AMD(AMD.US)... 智通财经APP获悉,美国银行在半导体市场周度展望报告中表示,由于服务器处理器需求“异常旺盛”,AMD...
机器工作,人类生活:财富、劳动... 来源:FT中文网 丹麦投资人特维德谈新作《超级趋势:机器工作,人类生活》。他认为大规模人类劳动将不...
原创 金... 文章里把这一轮下跌的原因先归到美联储头上。 说是新任主席沃什6月议息会后放了信号,年末利率中值抬到3...
病病不病:算法病灶与企业家的心... 引言 “法人,即法律意义上的人。在数智时代,这个人不仅拥有生物属性,更被赋予了‘数字灵魂’。”随着企...
83岁董事长遭女儿女婿“逼宫”... 在公司实控人家族上演着“发难、反转、再博弈”的内斗连环剧,令市场观望情绪升温,7月13日,奥精医疗跌...
国际油价创6年来最大单日涨幅,... 据新华社,由于美伊冲突升级及美国宣布将恢复对伊朗的海上封锁,国际原油期货价格7月13日早盘显著上涨,...
美联储维持100亿美元购债规模... 智通财经APP获悉,美联储周一宣布,在截至8月13日的本轮操作周期内,将继续购买约100亿美元美国国...
A股行情逻辑持续迭代 进入结构... 2026年,A股彻底告别普涨普跌的传统牛市模式,进入“指数震荡、个股分化、热点轮动”的结构性新阶段。...
习酒“脱茅”三年考:2025年... 出品|搜狐财经 作者|李文贤 习酒2025年的成绩单不太好看。 营收150亿,净利润不到18个亿。一...
同泰数字经济股票A:2026年... AI基金同泰数字经济股票A(012696)披露2026年二季报,第二季度基金利润1.06亿元,加权平...
DNA损伤修复|DDR通路研究... DNA损伤修复(DDR)通路是维持基因组稳定性的核心防线,其功能异常与肿瘤发生发展密切相关。近年来,...
一连三轮,上海诞生一家百亿卫星... 来源:投资界 中国开启可回收火箭时代,投资人看上6G最难的一颗芯片。 报道/投资界PEdaily ...
欧洲抢空调,国货、机器人世界杯... 7月14日,海关总署在国新办发布会亮出今年上半年外贸成绩单:货物贸易进出口总额25.47万亿元,同比...
希音国际IPO:小单快反的长期... 摘要:千亿帝国 ID:朝阳资本论 作者:赤眼 作为中国跨境电商出海的标杆企业,中国快时尚跨境电商希...
快讯 | 265亿赴美IPO封... 7月10日,韩国存储芯片龙头SK海力士,正式以ADR形式登陆纳斯达克挂牌交易。 这次上市直接创下历史...
10年2.1%+值得买吗? 债市上半年走出一轮牛市后,投资者正面临新的选择:收益率已降至低位,10年期收益率仍在2.1%以上的信...
天目药业控股股东拟转让20%股... 7月13日, 天目药业(600671.SH)公告称,公司控股股东汇隆华泽持有公司29.99%股份,拟...