甘肃省住房建设厅户网站,卫星宽带app,wordpress筛选分类,网站建设的基本步奏前言
本题与「15. 三数之和」相似#xff0c;解法也相似。
内容
一、四数之和
18.四数之和
给你一个由 n 个整数组成的数组 nums #xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] #xff08;…前言
本题与「15. 三数之和」相似解法也相似。
内容
一、四数之和
18.四数之和
给你一个由 n 个整数组成的数组 nums 和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] 若两个四元组元素一一对应则认为两个四元组重复
0 a, b, c, d na、b、c 和 d 互不相同nums[a] nums[b] nums[c] nums[d] target
你可以按 任意顺序 返回答案 。
排序双指针
func fourSum(nums []int, target int) [][]int {sort.Ints(nums)n:len(nums)var res [][]intfor i:0;in-3;i{n1:nums[i]if i0n1nums[i-1]{continue}for j:i1;jn-2;j{n2:nums[j]if ji1n2nums[j-1]{continue}left:j1right:len(nums)-1for leftright{n3:nums[left]n4:nums[right]sum:n1n2n3n4if sumtarget{left}else if sumtarget{right--}else{resappend(res,[]int{n1,n2,n3,n4})for left right n3 nums[left1] { // 去重left}for left right n4 nums[right-1] { // 去重right--}// 找到答案时,双指针同时靠近right--left}}}}return res
}最后
哈希表先到这吧写个总结。