Leetcode 153寻找旋转排序数组中的最小值

题目:

Leetcode 153寻找旋转排序数组中的最小值_第1张图片

这题也配中等?

来两个暴力吧

代码一:

class Solution {
    public int findMin(int[] nums) {
        int min=nums[0];
     for (int i=1;inums[i]){
             min=nums[i];
         }
     }
    return min;}
}

 

代码二:

class Solution {
    public int findMin(int[] nums) {
        Arrays.sort(nums);
        return nums[0];
    }
}

好了,来个比较高大上的解法,二分查找

二分查找:

思路

旋转之后的大致图如下:

并且有以下规律:

最小值右边的数一定小于最小值右边的数,根据这个就能轻松写出上面的代码了 

Leetcode 153寻找旋转排序数组中的最小值_第2张图片 

你可能感兴趣的:(算法,java,leetcode)