今天的另一道题部分通过,找bug中,就先放一道简单题。
其实讲道理,按题上描述,要找旋转数组的最小值,直接输出最小值就可以了。但总觉得算是钻了这道题的空子,所以没这么做。我是找第一个比前面数字小的数进行返回,即找到旋转数组的后半部分的头,因为题目说明了是递增数组,那么第一个比前面数字大的数必定是原数组的头,即最小数。若没有找到比前面数字小的数,即说明原数组未发生旋转,返回原数组的头即可。
class Solution {
public int minArray(int[] numbers) {
for (int i=0;i<(numbers.length-1);i++){
if (numbers[i+1]<numbers[i])
{
return numbers[i+1];
}
}
return numbers[0];
}
}
另一道题改好了放吧~