码迷,mamicode.com
首页 > 其他好文 > 详细

153. Find Minimum in Rotated Sorted Array

时间:2016-06-28 07:03:35      阅读:149      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!