LeetCode题目-153

首页 编程分享 LEET_CODE 正文

leetCode 转载 编程分享 2017-05-08 13:34:12

简介 LeetCode题目-153


✏Leetcode基础刷题之(153. Find Minimum in Rotated Sorted Array)


✏描述

给定一个不知道在哪个点发生旋转的有序升序数组,求数组中最小值。


✏题目实例

✏题目分析

这道题做个类似的,也是在哪个点发生旋转,求一个数,想不起来了,可以去看之前有关二分查找的题目,他并不是让你直接使用内置函数,或者自己写遍历,这样时间复杂度都是O(n),应该通过二分查找来确定最小值所在的区间范围。

/**
     * @param Integer[] $nums
     * @return Integer
     */
    function findMin($nums) {
        $l=0;
        $r=count($nums)-1;
        if($nums[$l]>$nums[$r]){
           while($l !==$r-1){
            $middle=$l+(($r-$l)>>1);
            if($nums[$l]<$nums[$middle]) $l=$middle;
            else $r=$middle;
          }
           return min($nums[$l],$nums[$r]);
        }else{
            return $nums[0]
        }
       
    }


转载链接:https://leetcode.cn/


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论




ABOUT ME

Blogger:袅袅牧童 | Arkin

Ido:PHP攻城狮

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云