15. 三數(shù)之和

LeetCode 的算法題 PHP解法記錄

給定一個包含 n 個整數(shù)的數(shù)組 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?找出所有滿足條件且不重復的三元組。

注意:答案中不可以包含重復的三元組。

例如, 給定數(shù)組 nums = [-1, 0, 1, 2, -1, -4],

滿足要求的三元組集合為:
[
[-1, 0, 1],
[-1, -1, 2]
]

解:

    $a=array(
    -1, 0, 1, 2, -1, -4
);

function threeCount($arr){
    // 遍歷全部的三個數(shù)組合
$res=array();

for($n=0;$n<count($arr)-2;$n++){

    for($i=$n+1;$i<count($arr)-1;$i++){
        for ($j = $i+1; $j < count($arr) ; $j++) {
            $res[]=array($arr[$n],$arr[$i],$arr[$j]);
        }
    }      
}
    // 取結果0 ,去重
    $data=array();
    $check=array();
    foreach ($res as $key => $value) {
        if(array_sum($value) == 0){
            $ch=$value;
            sort($ch);
            $str=implode($ch);
            if(in_array($str,$check)){
                continue;
            }else{
                $check[] =$ch;
            }
        
            $data[] = $value;
        }
    }

    var_dump($data);
    var_dump($check);
}

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容