◻️4Sum (medium)
Input: nums = [1,0,-1,0,-2,2], target = 0
Output: [[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]Input: nums = [2,2,2,2,2], target = 8
Output: [[2,2,2,2]]Solutions
Normal
class Solution {
public:
vector<vector<int>> fourSum(vector<int>& nums, int target) {
int n = nums.size();
set<vector<int>> st;
sort(nums.begin(), nums.end());
for (int i=0; i+3<n; ++i) {
for (int j=i+1; j+2<n; ++j) {
int l = j+1;
int r = n-1;
while (l < r) {
long long sum = static_cast<long long>(nums[i]) + nums[j] + nums[l] + nums[r];
if (sum == target) {
st.insert({nums[i], nums[j], nums[l++], nums[r--]});
} else if (sum < target) {
++l;
} else {
--r;
}
}
}
}
return vector<vector<int>>(st.begin(), st.end());
}
};Optimised
Previous75. Sort Colors (Dutch National Flag Problem) (medium)Next844. Backspace String Compare (easy)
Last updated