就比1多了一点点
1 public int findMin(int[] nums) { 2 if(nums.length == 0) { 3 return -1; 4 } 5 int left = 0; 6 int right = nums.length - 1; 7 while(left < right) { 8 int mid = left + (right - left) / 2; 9 if(nums[mid] > nums[right]) { 10 left = mid + 1; 11 } else if(nums[mid] < nums[right]) { 12 right = mid; 13 } else { 14 right--; 15 } 16 } 17 return nums[left]; 18 }
第13行,当nums[mid] == nums[high]的时候high--
时间: 2024-11-06 12:40:47