LeetCode-015-三數(shù)之和

題目描述:給你一個(gè)包含 n 個(gè)整數(shù)的數(shù)組 nums,判斷 nums 中是否存在三個(gè)元素 a,b,c ,使得 a + b + c = 0 ?請(qǐng)你找出所有和為 0 且不重復(fù)的三元組。
注意:答案中不可以包含重復(fù)的三元組。
示例說(shuō)明請(qǐng)見(jiàn)LeetCode官網(wǎng)。
來(lái)源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/3sum/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
首先將數(shù)組nums排序,然后通過(guò)三重遍歷,獲取符合條件三元組,中間需要把重復(fù)的通過(guò)判斷過(guò)濾掉。
解法二:雙指針?lè)?/h1>描述首先也是將nums排序,然后第一層遍歷和第一種方法一樣,獲取第一個(gè)數(shù)字的索引first,然后第二個(gè)數(shù)字索引second和第三個(gè)數(shù)字索引third分別從first之后的數(shù)組中,從左至右獲取符合條件的數(shù)字,直到second不小于third為止。
第二種方法比第一種方法少一層循環(huán),所以效率高得多。
描述首先也是將nums排序,然后第一層遍歷和第一種方法一樣,獲取第一個(gè)數(shù)字的索引first,然后第二個(gè)數(shù)字索引second和第三個(gè)數(shù)字索引third分別從first之后的數(shù)組中,從左至右獲取符合條件的數(shù)字,直到second不小于third為止。
第二種方法比第一種方法少一層循環(huán),所以效率高得多。
標(biāo)簽: