LeetCode Find Minimum in Rotated Sorted Array
来源:互联网 发布:mac系统偏好设置有个1 编辑:程序博客网 时间:2024/06/01 15:50
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.
You may assume no duplicate exists in the array.
题意:给出一个旋转后的数组,求该数组中的最小值。
思路:用二分法的递归形式。(1)数组只有一个元素,这个就是最小值 。(2)数组中有两个元素,求这两个的最小值。(3)如果第一个元素小于最后一个元素,说明这个区间的数组是从小到大排序的。最左边的就是最小值。(4)求这个区间的中间位置mid,然后递归计算[low, mid]和[mid+1,high]的最小值 。
代码如下:
class Solution{ private int findMin(int[] nums, int low, int high) { if (low == high) return nums[low]; else if (1 == high - low) { return Math.min(nums[low], nums[high]); } else { if (nums[low] < nums[high]) return nums[low]; int mid = (low + high) >> 1; int min1 = findMin(nums, low, mid); int min2 = findMin(nums, mid + 1, high); return Math.min(min1, min2); } } public int findMin(int[] nums) { int high = nums.length - 1; return findMin(nums, 0, high); }}
解法二:
class Solution { public int findMin(int[] nums) { int left = 0, right = nums.length - 1; while (left < right) { int mid = (left + right) >> 1; if (nums[mid] < nums[right]) { right = mid; } else if (nums[mid] > nums[right]) { left = mid + 1; } } return nums[left]; }}
0 0
- [LeetCode] Find Minimum in Rotated Sorted Array
- Leetcode: Find Minimum in Rotated Sorted Array
- leetcode :Find Minimum in Rotated Sorted Array
- LeetCode:Find Minimum in Rotated Sorted Array
- 【Leetcode】Find Minimum in Rotated Sorted Array
- LeetCode:Find Minimum in Rotated Sorted Array
- LeetCode: 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 -- LeetCode
- Leetcode: Find Minimum in Rotated Sorted Array
- leetcode Find Minimum in Rotated Sorted Array
- leetcode - Find Minimum in Rotated Sorted Array
- LeetCode Find Minimum in Rotated Sorted Array
- Leetcode--Find Minimum in Rotated Sorted Array
- leetcode: Find Minimum in Rotated Sorted Array
- [leetcode] Find Minimum in Rotated Sorted Array
- LeetCode:Find Minimum in Rotated Sorted Array
- Hdu 2049解题报告
- Day-4 又加进去了IE6的兼容..
- css3毛玻璃效果 css图片模糊效果处理
- 锋利的jquery学习
- Latex中遇到的问题及解决办法
- LeetCode Find Minimum in Rotated Sorted Array
- SQL Server汇总数据之聚合函数与分组
- Hdu 2050解题报告
- 连接远程服务器的问题
- 简单研究下APK文件
- SQLServer 维护脚本分享(05)内存(Memory)
- 牛客网 | 链表分割
- SQL中视图整理
- javaMap