乐趣区

关于leetcode:Leetcode-PHP题解D119-704-Binary-Search

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;
    }
}

若感觉本文章对你有用,欢送用爱发电赞助。

退出移动版