【练习笔记】剑指offer-面试题8 :旋转数组的最小数字
来源:互联网 发布:搜索字幕的软件 编辑:程序博客网 时间:2024/06/04 19:58
【问题】
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
【答案】
import java.util.ArrayList;public class Solution { public int minNumberInRotateArray(int [] array) { if (array.length == 0) { return 0; } int start = 0; int end = array.length-1; int mid =start; while(array[start]>=array[end]){ if(end-start==1){ mid = end; break; } mid = (start+end)/2; if(array[start]==array[end]&&array[mid]==array[start]){ return get(array); } if(array[start]<=array[mid]){ start = mid; }else if(array[end]>=array[mid]){ end = mid; } } return array[mid]; } public int get(int [] array){ int min=array[0]; for(int i=1;i<array.length;i++){ if(array[i]<min){ min = array[i]; } } return min; }}
0 0
- 【练习笔记】剑指offer-面试题8 :旋转数组的最小数字
- 【剑指offer】面试题8:旋转数组的最小数字
- 剑指offer面试题8:旋转数组的最小数字
- 剑指Offer:面试题8 :旋转数组的最小数字
- 《剑指offer》面试题8旋转数组的最小数字
- 《剑指Offer》面试题8:旋转数组的最小数字
- 【剑指offer】 面试题8: 旋转数组的最小数字
- 剑指offer-面试题8:旋转数组的最小数字
- 剑指offer面试题8:旋转数组的最小数字
- 【剑指offer】面试题8:旋转数组的最小数字
- 剑指offer面试题8:旋转数组的最小数字
- 剑指offer--面试题8: 旋转数组的最小数字
- 剑指Offer---面试题8:旋转数组的最小数字
- 剑指offer-面试题8-旋转数组的最小数字
- 剑指offer-面试题8 旋转数组的最小数字
- 剑指offer-面试题8-旋转数组的最小数字
- 剑指offer 面试题8 旋转数组的最小数字
- 剑指offer面试题[8]-旋转数组的最小数字
- 【剑指Offer面试题】 九度OJ1368:二叉树中和为某一值的路径
- js上传文件
- 【翻译自mos文章】recover.bsq文件在数据库软件安装光盘的哪个位置?
- TCP的SACK选择确认选项
- Oozie4.2 安装部署、以及example测试
- 【练习笔记】剑指offer-面试题8 :旋转数组的最小数字
- Android Adapter优化问题
- 初试贪心nyoj6喷水装置(一)
- 显示调用c++动态链接库
- Integer to Roman
- HDU 4355 数轴上的点找使Si^3*Wi最小的和-浮点数三分
- java多线程之 ---- 线程同步
- error LNK2019: 无法解析的外部符号 __imp__CryptBinaryToStringA@20
- c 总结