zoukankan      html  css  js  c++  java
  • leetcode153. 寻找旋转排序数组中的最小值

    假设按照升序排序的数组在预先未知的某个点上进行了旋转。

    ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。

    请找出其中最小的元素。

    你可以假设数组中不存在重复元素。

    示例 1:

    输入: [3,4,5,1,2]
    输出: 1

    示例 2:

    输入: [4,5,6,7,0,1,2]
    输出: 0

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    解答:

    对于这种类型的题目,之前已经遇到过了,就是旋转排序数组,我感觉这里的题目,还是更简单的,因为不需要多一步二分,只需要找到那个分界点。如果有不懂的,可以查找之前的leetcode33,81题目,都是一样的,这里就不多说了。

     1 class Solution {
     2     public int findMin(int[] nums) {
     3         int l=0;
     4         int r=nums.length-1;
     5         while(l<=r)
     6         {
     7             if(nums[l]<=nums[r])
     8                 return nums[l];
     9             int mid=l+(r-l)/2;
    10             if(nums[mid]<nums[l])
    11                 r=mid;
    12             else 
    13                 l=mid+1;
    14         }
    15         return nums[r];
    16     }
    17 }
    View Code
  • 相关阅读:
    如何搭建SVN的客户端和使用
    SVN服务器的本地搭建和使用
    grep命令
    cat命令
    cut命令
    yum 命令
    XPath、XQuery 以及 XSLT 函数
    XPath 实例
    XPath 运算符
    XPath Axes(轴)
  • 原文地址:https://www.cnblogs.com/cold-windy/p/11875611.html
Copyright © 2011-2022 走看看