首页 > 其他 > 详细

[LeetCode 154] Find Minimum in Rotated Sorted Array II

时间:2015-03-25 09:05:48      阅读:155      评论:0      收藏:0      [点我收藏+]

题目链接:find-minimum-in-rotated-sorted-array-ii


1. 相似题型及解答:Find Minimum in Rotated Sorted Array

2. 相似题型及解答:  Search in Rotated Sorted Array

3. 相似题型及解答: Search 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 FindMinimumInRotatedSortedArrayII {
    
//	188 / 188 test cases passed.
//	Status: Accepted
//	Runtime: 217 ms
//	Submitted: 0 minutes ago

	
	static int findMin(int[] num) {
    	int left = 0;
        int right = num.length - 1;       
    	while(left != right) {    		
    		int mid = (left + right) / 2;
    		if(num[left] < num[right]) return num[left];
    		else if(num[left] > num[right]) {
    			if(num[left] <= num[mid]) left = mid + 1;
    			else right = mid;
    		} else {
				right --;
			}
    	}
    	return num[left];
    }

	public static void main(String[] args) {
		System.out.println(findMin(new int[]{4, 4, 5, 6, 7, 8,  1, 2, 3, 4, 4}));

	}
}


[LeetCode 154] Find Minimum in Rotated Sorted Array II

原文:http://blog.csdn.net/ever223/article/details/44599679

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!