题干:https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/
前面做了几题sorted array之后,万能pivot函数屡试不爽,但是我仍没想通这题为何是hard模式:
我就直接贴代码了:
package com.example.demo.leetcode; public class FindMinimuminRotatedSortedArrayII { private int findPivotIndex(int[] nums, int startIndex, int endIndex){ for(int i=startIndex;i<=endIndex;i++){ if(i>0 && nums[i]<nums[i-1]){ return i; } } return -1; } public int findMin(int[] nums) { int pivot = findPivotIndex(nums, 0, nums.length-1); if(pivot==-1){ return nums[0]; }else{ return nums[pivot]; } } public static void main(String[] args) { int[] nums = {2,2,2,0,1}; FindMinimuminRotatedSortedArrayII demo = new FindMinimuminRotatedSortedArrayII(); int ret = demo.findMin(nums); System.out.println(ret); } }