<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 思考: > 其實關鍵節點就在于在序列中找到值等于待查找元素值時的處理。如果此時 $mid 位置已經到了序列的最左邊,不能再往左了,或者序列中索引小于 $mid 的上一個元素值不等于待查找元素值,那么此時 $mid 就是第一個等于待查找元素值的位置;否則還要繼續往前找。 ## 代碼: ~~~ /** * 二分查找 * @param $nums * @return mixed */ function binary_search($nums,$num){//傳入數組和需要查找的數據 if(count($nums) <= 1){ return 0; } return binary_search_internal($nums,$num,0,count($nums)-1); } function binary_search_internal($nums,$num,$low,$high){ if($low>$high){ return -1; } $mid = floor(($low+$high)/2); if($num>$nums[$mid]){ return binary_search_internal($nums,$num,$mid+1,$high); }elseif($num<$nums[$mid]){ return binary_search_internal($nums,$num,$low,$mid-1); }else{ //區別就在這里 開始 if($mid ==0 || $nums[$mid-1] != $num){//判斷是否到了最左邊,或者是左邊的值不等于要查找的值,因為這是一個有序的數組 return $mid; }else{ return binary_search_internal($nums,$num,$low,$mid-1); } //區別就在這里 結束 } } $nums = [1,2,2,3,4,5,6]; $index = binary_search($nums,2); print $index; ~~~ ## 查找最后一個類似 代碼不同之處: ~~~ }else{ if($mid ==count($nums)-1 || $nums[$mid+1] != $num){ return $mid; }else{ return binary_search_internal($nums,$num,$mid+1,$high); } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看