旋转数组的最小数字
2016-07-20 11:15
267 查看
题目描述:
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。
例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。
解题思路:
1.部分旋转时,即数组{1,2,3,4,5}旋转后为数组{3,4,5,1,2}的情况,出现array[i]>array[i+1]时,array[i+1]为数组最小值
2.完全旋转时,数组{1,2,3,4,5}仍为数组{1,2,3,4,5}。arra。y[0]为最小值。
实际操作:
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。
例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。
解题思路:
1.部分旋转时,即数组{1,2,3,4,5}旋转后为数组{3,4,5,1,2}的情况,出现array[i]>array[i+1]时,array[i+1]为数组最小值
2.完全旋转时,数组{1,2,3,4,5}仍为数组{1,2,3,4,5}。arra。y[0]为最小值。
实际操作:
public int minNumberInRotateArray(int [] array) { //数组长度为0 if (array.length==0) return 0; //部分旋转 for (int i = 0; i < array.length-1; i++) { if (array[i] > array[i+1]) return array[i+1]; } //完全旋转,即数组不发生变化 return array[0]; }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树