美文网首页Leetcode题解-PHP版
Leetcode PHP题解--D119 704. Binary

Leetcode PHP题解--D119 704. Binary

作者: skys215 | 来源:发表于2019-12-04 22:47 被阅读0次

    D119 704. Binary Search

    题目链接

    704. Binary Search

    题目分析

    有序数组的二分查找。

    思路

    这个不用多说了,很基础的题目了。

    用三个标记去记录起始位置、中间位置以及末尾位置。因为是有序的,所以可以通过判断中间位置的大小来每次减少一半待查找元素个数。

    最终代码

    <?php
    class Solution {
    
        /**
         * @param Integer[] $nums
         * @param Integer $target
         * @return Integer
         */
        function search($nums, $target) {
            $start = 0;
            $end = count($nums);
            do{
                $mid = floor(($end+$start)/2);
                var_dump($start.'-'.$mid.'-'.$end);
                if($nums[$mid] == $target){
                    return $mid;
                } 
                if($nums[$mid]<$target){
                    $start = $mid+1;
                }
                else{
                    $end = $mid-1;
                }
            }while($end>=$start);
            return -1;
        }
    }
    

    若觉得本文章对你有用,欢迎用爱发电资助。

    相关文章

      网友评论

        本文标题:Leetcode PHP题解--D119 704. Binary

        本文链接:https://www.haomeiwen.com/subject/vksrgctx.html