1.题目
输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
2.思路
旋转数组为单调递增数组(更严谨点应为非递减)的一个变换,想找到最小值,可以前后比较元素,当元素突然变小时,则变小的这个元素就是该数组的最小值。
3.代码
import java.util.ArrayList;
public class Solution {
public int minNumberInRotateArray(int [] array) {
if(array.length==0){
return 0;
}
int rtn=0;
for(int i=1;i<array.length;i++){
if(array[i]<array[i-1])
{
rtn=array[i];
break;
}
}
return rtn;
}
}