[Lintcode]Find Minimum in Rotated Sorted Array
来源:互联网 发布:预防域名攻击 编辑:程序博客网 时间:2024/05/18 01:39
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.
Example
Given [4, 5, 6, 7, 0, 1, 2]
return 0
直接二分法查找。最终会有两种情况,即指针走到相邻位置,a,b中a大于b或者b大于a。a大于b时,取最左侧。反之,用if(nums[mid] >= nums[left]) left=mid+1跳过a。
public class Solution { /** * @param nums: a rotated sorted array * @return: the minimum number in the array */ public int findMin(int[] nums) { return helper(nums, 0, nums.length - 1); } int helper(int[] nums, int left, int right) { while(left < right) { if(nums[left] < nums[right]) return nums[left]; int mid = (left + right) / 2; if(nums[mid] >= nums[left]) { left = mid + 1; } else { right = mid; } } return nums[left]; }}
0 0
- lintcode:Find Minimum in Rotated Sorted Array
- [Lintcode]Find Minimum in Rotated Sorted Array
- [Lintcode]Find Minimum in Rotated Sorted Array II
- LintCode 159:Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- [LeetCode] Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- Leetcode: Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- leetcode :Find Minimum in Rotated Sorted Array
- LeetCode:Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array II
- 【Leetcode】Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- MakeFile一篇通俗易懂的好文章
- cisco 路由器 ADSL拨号上网配置
- 阻塞队列
- 两代 K Kt inect 对比
- hdu 3232 Crossing Rivers
- [Lintcode]Find Minimum in Rotated Sorted Array
- git clone远程特定分支
- 手动建立WEB项目
- 创建对象
- C++运算符优先级
- 按钮设置形状的同时设置点击效果
- res里面的drawable(ldpi、mdpi、hdpi、xhdpi、xxhdpi)
- Android中事件传递机制的总结
- CreateProcess 创建explorer.exe失败的原因简单分析