153. 寻找旋转排序数组中的最小值

mac2024-03-31  28

题意很好理解,找最小值,遍历一遍即可,复杂度O(N)

或找小于前一个元素的值。由于是递增数组,这种元素只存在一个,遍历一遍即可,还是O(N。如果用二分查找,则为O(logN)

public class Solution { public int FindMin(int[] nums) { int l = 0,r = nums.Length-1; while(l < r) { int mid = (l+r)/2; if(mid > 0 && nums[mid] < nums[mid-1]) return nums[mid]; if(nums[mid] > nums[r]) l = mid + 1; else r = mid - 1; } return nums[l]; } }

 

最新回复(0)