1. 兩數之和

LeetCode 的算法題 PHP解法記錄

給定一個整數數組和一個目標值,找出數組中和為目標值的兩個數。

你可以假設每個輸入只對應一種答案,且同樣的元素不能被重復利用。

示例:

給定 nums = [2, 7, 11, 15], target = 9

因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

解:

 /*  
兩數之和
先對數組進行從小到大的排序,然后設置首尾指針--->
假設兩指針為i,j,其中i < j,如果a[i]、a[j]之和大于指定值,那么要找的兩個數一定在j的左側,
如果a[i]、a[j]之和小于指定值,那么要找的兩個數一定在i的右側 
*/
function twoCount($nums=array(),$result=0){
    sort($nums);
    echo "<pre>";
    var_dump($nums);

    $a=0;
    $z=count($nums)-1;
    while ($a < $z ) {
        # code...
        if($result == ($nums[$a] + $nums[$z])){
            die($nums[$a] .'和'. $nums[$z]);
        }else if($result > ($nums[$a] + $nums[$z])){
            $a++;
        }else if($result < ($nums[$a] + $nums[$z])){
            $z--;
        }
    }

    echo '結果不存在';

}
$arr= [2, 7, 11, 15,-1,0];
twoCount($arr,10);
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 題目鏈接:https://leetcode-cn.com/problems/two-sum/description...
    編程老司機閱讀 412評論 0 1
  • https://leetcode-cn.com/problems/two-sum/description/給定一個...
    帶肥肉的羊肉串閱讀 163評論 0 0
  • 給定一個整數數組和一個目標值,找出數組中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被...
    WindMajor閱讀 266評論 0 0
  • 題目: 給定一個整數數列,找出其中和為特定值的那兩個數。 你可以假設每個輸入都只會有一種答案,同樣的元素不能被重用...
    Missmiss懵閱讀 269評論 0 0
  • Step1. 這一天因為家中停電而搞得心情忽上忽下的~ 感覺管理情緒是非常重要的。但是如果犯了錯誤,只能怪自己,不...
    醬嬸兒的李屁屁閱讀 463評論 3 1

友情鏈接更多精彩內容