Leetcode PHP題解--D119 704. Binary Search

D119 704. Binary Search

題目連接

704. Binary Searchphp

題目分析

有序數組的二分查找。數組

思路

這個不用多說了,很基礎的題目了。.net

用三個標記去記錄起始位置、中間位置以及末尾位置。由於是有序的,因此能夠經過判斷中間位置的大小來每次減小一半待查找元素個數。code

最終代碼

<?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

相關文章
相關標籤/搜索