LeetCode p153 Find Minimum in Rotated Sorted Array 题解
1.题目:
Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2). Find the minimum element. You may assume no duplicate exists in the array.
publicclass{ publicintfindMin(int[] nums){ int ans = nums[0]; int len = nums.length; int left = 0; int right = len; int mid; for (;;) { mid = (left + right) / 2; if (mid - 1 < 0 || mid > len - 1) break; if (left > right) break; if (nums[mid] < nums[mid - 1]) { ans = ans < nums[mid] ? ans : nums[mid]; break; } else { if (nums[mid] > nums[0]) { left = mid + 1; } else { right = mid; } }
近期评论