博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《剑指offer》-旋转数组的最小数字
阅读量:6646 次
发布时间:2019-06-25

本文共 670 字,大约阅读时间需要 2 分钟。

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

输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。
例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。

考察二分查找。虽然是有序数组进行了旋转的,但实际上依然可以用二分的做法来找。

int minNumberInRotateArray(vector
rotateArray){ int low = 0; int high = rotateArray.size() - 1; while (low < high){ int mid = low + (high - low) / 2; if (rotateArray[mid] > rotateArray[high]){ low = mid + 1; } else if (rotateArray[mid] == rotateArray[high]){ high = high - 1;; } else{ high = mid; } } return array[low]; }

转载地址:http://edgvo.baihongyu.com/

你可能感兴趣的文章
多个网络请求的并发情况
查看>>
Spring Cloud Alibaba Sentinel对Feign的支持
查看>>
JS函数
查看>>
掘金 AMA:听《React 状态管理和同构实战》作者--LucasHC 说 React 和前端那些事
查看>>
选择排序中用异或实现swap()时出现的问题
查看>>
轻量级自定义NumberPicker
查看>>
三周学会小程序第四讲:Heroku 绑定 Github 自动部署
查看>>
JS笔记(10): 关于包装对象(未完)
查看>>
数据结构之「B树」
查看>>
一个webpack单页面应用的配置
查看>>
开发者论坛一周精粹(第十三期):CVE-2017-9791:Struts(S2-048)远程命令执行漏洞
查看>>
后来的我
查看>>
LayoutInflater作用用法
查看>>
记住这14条能救你一命
查看>>
Linux图形界面与字符界面切换
查看>>
dwarfdump解析线上崩溃日志dSYM文件
查看>>
listview放入scrollview
查看>>
linux awk命令详解
查看>>
人工智能与智能体系中的先驱人物
查看>>
OkHttp Log Interceptor
查看>>