标签:return 重复 unknown and before 需要 ++ find tco
Follow up for "Find Minimum in Rotated Sorted Array":
What if duplicates are allowed?Would this affect the run-time complexity? How and why?
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.
The array may contain duplicates.
接着153题,在数组中有重复的数字。
只需要判断一下当nums[left] == nums[mid] 即可。
public class Solution { public int findMin(int[] nums) { if( nums.length == 1) return nums[0]; int left = 0,right = nums.length-1; int mid = (left+right)/2; int first = nums[0]; while( left < right ){ if( left == right-1 ){ left++; } else if( nums[mid] == nums[left]){ left++; }else if( nums[left] < nums[mid] ){ left = mid; }else{ right = mid; } mid = (left+right)/2; first = Math.min(first,nums[left]); } return Math.min(first,nums[left]); } }
leetcode 154. Find Minimum in Rotated Sorted Array II --------- java
标签:return 重复 unknown and before 需要 ++ find tco
原文地址:http://www.cnblogs.com/xiaoba1203/p/6080567.html