LeetCode: 剑指 Offer 11. 旋转数组的最小数字
本来直接 Arrays.sort(arr) sout>>arr[0] 即可了
但是这题主要是想让我们来充分利用已有的部分有序来找到最小值
二分 + 去重直接排序输出遍历 >> 降序即为最小二分代码
去重的时候,不知道重复的是左部分还是右部分,需要 right--
class Solution { public int minArray(int[] numbers) { int left = 0; int right = numbers.length - 1; while (left <= right){ int mid = left + (right - left) / 2; // left、right 都是靠小的那边走 if(numbers[right] > numbers[mid]){ right = mid ; }else if(numbers[right] < numbers[mid]){ left = mid + 1; } else right--; } return numbers[left]; } }>> 解题思路
