最好想的一种解决方式
旋转数组的最小数字
http://www.nowcoder.com/questionTerminal/9f3231a991af4f55b95579b44b7a01ba
有这样的一个思路:设置一个参数i另一个参数i+1,这样就成了一个前面的一个后面的,如果后面的比前面的小那么一定就是后面的这个元素是最小值。因为旋转之后是部分部分的非递减的。就算是10111这样的例子,第一次判断0是小于1的直接就返回0可以了。
import java.util.ArrayList;
public class Solution {
public int minNumberInRotateArray(int [] array) {
if(array.length==0){
return 0;
}
if(array.length==1){
return array[0];
}
for(int i=0;i<array.length;i++){
if(array[i]>array[i+1]){
return array[i+1];
}
}
return 0;
}
}