首页 > 代码库 > [LintCode] 159 Find Minimum in Rotated Sorted Array
[LintCode] 159 Find Minimum in Rotated Sorted Array
Description
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.
Notice
You may assume no duplicate exists in the array.
Example
Given [4, 5, 6, 7, 0, 1, 2] return 0
4/24/2017
算法班
不需要跟特定值比较,while里面判断只有2个分支。
1 public class Solution { 2 /** 3 * @param nums: a rotated sorted array 4 * @return: the minimum number in the array 5 */ 6 public int findMin(int[] nums) { 7 // write your code here 8 if (nums == null || nums.length == 0) return -1; 9 int start = 0, end = nums.length - 1; 10 11 while (start + 1 < end) { 12 int mid = start + (end - start) / 2; 13 if (nums[mid] < nums[end]) { 14 end = mid; 15 } else { 16 start = mid; 17 } 18 } 19 return nums[start] < nums[end]? nums[start]: nums[end]; 20 } 21 }
[LintCode] 159 Find Minimum in Rotated Sorted Array
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。