給你乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?請你找出所有滿足條件且不重複的三元組。
注意:答案中不可以包含重複的三元組。
題目分析
給定陣列 nums = [-1, 0, 1, 2, -1, -4],
滿足要求的三元組集合為:
[[-1, 0, 1],
[-1, -1, 2]
]思路(一)
注意: if(i>0&&nums[i] == nums[i-1]) continue; //continue只是結束本輪兩值相同的迴圈,繼續重新執行for的新迴圈,要選擇相同的值中的前面的值進行迴圈判斷
不能採用 if(nums[i] == nums[i+1]) continue; //這樣會丟失一組[-1,-1,2]的解
//兩步去重,第一步直接對i去重,跳過相等的後一項迴圈
//第二步去重對迴圈中重複的l、r去重
/**
* @param nums
* @return
*/var
threesum
=function
(nums)
else
if(sum<0)
else
if(sum>0)
}}return arr;
};
LeetCode top100 每日溫度
請根據每日 氣溫 列表,重新生成乙個列表。對應位置的輸出為 要想觀測到更高的氣溫,至少需要等待的天數。如果氣溫在這之後都不會公升高,請在該位置用 0 來代替。例如,給定乙個列表 temperatures 73,74,75,71,69,72,76,73 你的輸出應該是 1,1,4,2,1,1,0,0 ...
LeetCode top100 顏色分類
給定乙個包含紅色 白色和藍色,一共 n 個元素的陣列,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色 白色 藍色順序排列。此題中,我們使用整數 0 1 和 2 分別表示紅色 白色和藍色。注意 不能使用 庫中的排序函式來解決這道題 題目分析 輸入 2,0,2,1,1,0 輸出 0,0,1,1,...
LeetCode top100 有效的括號
給定乙個只包括 的字串,判斷字串是否有效。題目分析 有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。輸入 輸出 true 輸入 輸出 true 輸入 輸出 false 思路 一 使用棧的方法,後進先出,如果遇見左括號入棧,右括號出戰,最終判...