把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
分析思路:因为输入是一个非递减序列的旋转,因此找到第一个逆序的元素就是最小值
package cto;
/**
* 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,
* 输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
*
* @author ywf
*
*/
public class ArrayTest {
public int minNumberInRotateArray(int[] array) {
if (array == null || array.length == 0) {
return 0;
}
int minEle = array[0];
for (int i = 0; i < array.length - 1; i++) {
if (array[i] > array[i + 1]) {
minEle = array[i + 1];
break;
}
}
return minEle;
}
}