码迷,mamicode.com
首页 > 编程语言 > 详细

leetcode 153. Find Minimum in Rotated Sorted Array --------- java

时间:2016-11-19 03:19:20      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:for   java   result   break   color   i++   unknown   exist   ini   

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.

 

在一个反转了的排好序的数组中,找出最小的数

 

可以直接寻找。

 

public class Solution {
    public int findMin(int[] nums) {
        
        
        if( nums.length == 1)
            return nums[0];
        int result = nums[0];
        for( int i = 1 ; i<nums.length;i++)
            result = Math.min(nums[i],result);

        return result;
    }
}

 

二分查找。

public class Solution {
    public int findMin(int[] nums) {
        
      if( nums.length == 1)
            return nums[0];
        int left = 0,right = nums.length-1;
        int mid = (left+right)/2;
        int first = nums[0];
        while( left < right ){


            if( nums[left] == nums[mid] ){
                first = Math.min(Math.min(first,nums[left]),nums[right]);
                break;
            }
            else if( nums[left] < nums[mid] ){
                left = mid;
                mid = (left+right)/2;
                first = Math.min(first,nums[left]);
            }else {
                right = mid;
                mid = (left+right)/2;
                first = Math.min(first,nums[mid]);
            }

        }
        return Math.min(first,nums[left]);
    }
}

 

leetcode 153. Find Minimum in Rotated Sorted Array --------- java

标签:for   java   result   break   color   i++   unknown   exist   ini   

原文地址:http://www.cnblogs.com/xiaoba1203/p/6079466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!