标签:
Find Minimum in Rotated Sorted Array II
问题:
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.
思路:
二分查找
我的代码:
public class Solution { public int findMin(int[] num) { if(num == null || num.length == 0) return Integer.MAX_VALUE; int left = 0; int right = num.length - 1; while(left + 1 < right) { if(num[left] < num[right]) return num[left]; int mid = (left + right)/2; if(num[mid] > num[right]) { left = mid + 1; } else if(num[mid] < num[right]) { right = mid; } else { right--; } } if(num[left] > num[right]) return num[right]; else return num[left]; } }
学习之处:
Find Minimum in Rotated Sorted Array II
标签:
原文地址:http://www.cnblogs.com/sunshisonghit/p/4321819.html