LeetCode-018-四數(shù)之和

題目描述:給定一個(gè)包含 n 個(gè)整數(shù)的數(shù)組 nums 和一個(gè)目標(biāo)值 target,判斷 nums 中是否存在四個(gè)元素 a,b,c 和 d ,使得 a + b + c + d 的值與 target 相等?找出所有滿足條件且不重復(fù)的四元組。
注意:答案中不可以包含重復(fù)的四元組。
示例說明請(qǐng)見LeetCode官網(wǎng)。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/4sum/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
解法一:雙指針法
首先,將nums排序;然后first和fourth指針分別從數(shù)組的第一個(gè)和最后一位開始,second和third指針分別從first+1和fourth-1處從兩邊向內(nèi)移動(dòng),直到second不小于third,移動(dòng)過程中需要判斷4個(gè)指針?biāo)赶虻臄?shù)字之和是否和target相等,如果相等,則放到結(jié)果集result里面。 ?直到遍歷到first不小于fourth-2為止,最后返回結(jié)果result。
【每日寄語】忠實(shí)的守住自己最初的夢(mèng)想,讓生活的每一天都變得有意義。
標(biāo)簽: