剑指 Offer 11. 旋转数组的最小数字
这道题的思路很简单,最简单的思想就是遍历数组,寻找逆序;返回那个开始逆序的数字即可。
实现的时候遇到的问题;
1.刚开始写的时候数组越界,原因是没看清边界,把numbers[i]>numbers[i+1]改成numbers[i-1]>numbers[i],I从1开始即可解决问题;
2.注意本来就是从大到小的顺序,打印第一个数字即可。
居然空间复杂度只超越了12.6,我要去膜拜膜拜大佬们是怎么写的。
class Solution {
public int minArray(int[] numbers) {
// 用来记录开始出现逆序的那个数字的下标
int l1end=0;
for(int i=1;i<numbers.length;i++)
{
if(numbers[i-1]>numbers[i]){
l1end=i;
break;
}
}
return numbers[l1end];
}
}