题目描述
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。...例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。...(最小值在最开始),要么是一个旋转(最小值在中间某个地方)
//而且,旋转之后有个特征,就是在遍历的时候,原始数组是非递减的,旋转之后,就有可能出现递减,引起递减的数字,就是最小值。...而范围会一直缩小
//当left和right相邻时,right指向的位置,就是最小元素的位置
//但是,因为题目说的是非递减,也就意味着数据允许重复,因为有重复发,就可能会有a[left] == a...(注意,只要有两者不相等,我们就能判定应该如何缩小范围)
class Solution {
public int minArray(int[] numbers) {
int i