Difficult:Medium
題目
Given an array nums of n integers, return an array of all the unique quadruplets [nums[a], nums[b], nums[c], nums[d]] such that:
0 <= a, b, c, d < n
a, b, c, and d are distinct.
nums[a] + nums[b] + nums[c] + nums[d] == target
You may return the answer in any order.
翻譯
給定一個包含 n 個整數的數組 nums,返回一個包含所有唯一四元組 [nums[a], nums[b], nums[c], nums[d]] 的數組,使得:
0 <= a, b, c, d < n
a、b、c 和 d 是不同的。
nums[a] + nums[b] + nums[c] + nums[d] == 目標
您可以按任何順序返回答案。
範例
Example 1
1 | Input: nums = [1,0,-1,0,-2,2], target = 0 |
Example 2
1 | Input: nums = [2,2,2,2,2], target = 8 |
解題思路
1.先將陣列小到大排列
2.避免重複組合 第一個數字判斷數字是否跟上一個數字相同
3.總和為target時 記錄起來 避免重複組合 left和right判斷下一個數字是否跟當前數字相同
Solution
Code 1 :
1 | var fourSum = function (nums, target) { |