网站建设最新技术,电子商务网站建设与管理课后题答案6,嘉兴网站排名优化公司,网站建设怎么找客户资源题目 给你一个由 n 个整数组成的数组 nums #xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] #xff08;若两个四元组元素一一对应#xff0c;则认为两个四元组重复#xff09;#xff1a; 0 和一个目标值 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 解题
def fourSum(nums, target):nums.sort() # 首先对数组进行排序result [] # 用于存储结果的列表for i in range(len(nums) - 3):if i 0 and nums[i] nums[i - 1]:# 避免重复的四元组continuefor j in range(i 1, len(nums) - 2):if j i 1 and nums[j] nums[j - 1]:# 避免重复的四元组continueleft, right j 1, len(nums) - 1while left right:total nums[i] nums[j] nums[left] nums[right]if total target:left 1elif total target:right - 1else:# 找到一个和为target的四元组result.append([nums[i], nums[j], nums[left], nums[right]])# 跳过重复的元素while left right and nums[left] nums[left 1]:left 1while left right and nums[right] nums[right - 1]:right - 1# 移动到下一个不同的元素left 1right - 1return result# 示例
nums [1, 0, -1, 0, -2, 2]
target 0
print(fourSum(nums, target))[[-2, -1, 1, 2], [-2, 0, 0, 2], [-1, 0, 0, 1]]