給定乙個包含 n 個整數的陣列nums
,判斷nums
中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?找出所有滿足條件且不重複的三元組。
注意:答案中不可以包含重複的三元組。
例如, 給定陣列 nums = [-1, 0, 1, 2, -1, -4],滿足要求的三元組集合為:
[ [-1, 0, 1],
[-1, -1, 2]
]
/**
* @param integer $nums
* @return integer
* 1.將陣列排序 2.定義三個指標,i,j,k。遍歷i,那麼這個問題就可以轉化為在i之後的陣列中尋找nums[j]+nums[k]=-nums[i]這個問題,也就將三數之和問題轉變為二數之和---(可以使用雙指標)
*/function threesum($nums)
$j++;
$k--;
while ($j<$k && $nums[$j]===$nums[$j-1])
while ($j<$k && $nums[$k]===$nums[$k+1])
}else
}else}}
}}
return $res;
}print_r(threesum([-2,0,1,1,2]));
用 PHP 來刷leetCode 之 回文數
判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 1 輸入 121 輸出 true示例 2 輸入 121 輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10 輸出 false 解釋 從右向左讀...
用 PHP 來刷leetCode 之 最長公共字首
編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 示例 2 輸入 dog racecar car 輸出 解釋 輸入不存在公共字首。說明 所有輸入只包含小寫字母a z。param string strs ret...
怎麼用python刷leetcode
我的方法只適合連資料結構都不紮實的菜雞選手 不要完全按tag!頭一次刷,先把這五個tag做了 array,string,tree,linkedlist,math,其它的千萬別按tag刷。這樣不存在前面答案說的思維暗示問題,反而幫助鞏固資料結構,還可以自己歸納某種資料結構的全部技巧 每個tag內部就按...