首页 > 其他 > 详细

153. Find Minimum in Rotated Sorted Array

时间:2016-06-28 07:03:31      阅读:258      评论:0      收藏:0      [点我收藏+]

binary search但是三个数的时候单独处理

 1     public int findMin(int[] nums) {
 2         if(nums.length == 0) {
 3             return 0;
 4         }   
 5         int left = 0;
 6         int right = nums.length - 1;
 7         while(left < right - 2) {
 8             if(nums[left] < nums[right]) {
 9                 return nums[left];
10             }
11             int mid = left + (right - left) / 2;
12             if (nums[mid-1] < nums[left]) {
13                 right = mid - 1;
14             } else if (nums[mid+1] > nums[right]){
15                 left = mid + 1;
16             } else {
17                 left = mid - 1;
18                 right = mid + 1;
19             }
20         }
21         return Math.min(Math.min(nums[left + (right - left)/2], nums[left]), nums[right]);
22     }

 

153. Find Minimum in Rotated Sorted Array

原文:http://www.cnblogs.com/warmland/p/5622078.html

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