寻找旋转排序数组中的最小值
2017-08-06 22:34
232 查看
假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2)。
返回 0
用二分法解决
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。
返回 0
用二分法解决
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。
public class Solution { /** * @param nums: a rotated sorted array * @return: the minimum number in the array */ public int findMin(int[] nums) { // write your code here int begin = 0; int end = nums.length - 1; int mid; if(nums[begin]<nums[end]){ return nums[begin]; } while(begin < end){ mid = (begin+end)/2; if(nums[mid]>nums[end]) begin = mid+1; else end = mid; } return nums[end]; } }
相关文章推荐
- lintcode --寻找旋转排序数组中的最小值 II
- 题目:寻找旋转排序数组中的最小值 II
- 寻找旋转排序数组中的最小值 II
- 寻找旋转排序数组中的最小值——LintCode
- lintcode:寻找旋转排序数组中的最小值 II
- lintcode-寻找旋转排序数组中的最小值 java 需复习
- LintCode-分治-寻找旋转排序数组中的最小值 II
- 寻找旋转排序数组中的最小值 II
- lintcode- 寻找旋转排序数组中的最小值-159
- 寻找旋转排序数组中的最小值 II -LintCode
- lintcode-160-寻找旋转排序数组中的最小值 II
- 寻找旋转排序数组中的最小值 II
- 寻找旋转排序数组中的最小值
- 寻找旋转排序数组中的最小值 II
- 寻找旋转排序数组中的最小值 II
- LintCode-寻找旋转排序数组中的最小值 II
- 【剑指offer】2.4.1查找和排序——面试题8:旋转数组的最小数字
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数
- 《剑指Offer》查找和排序——旋转数组中的最小数字
- LintCode-寻找旋转排序数组中的最小值