标签:size color lse span 思想 turn == solution int
1 //跟三数之和思想一样的,只不过多一层循环 2 class Solution 3 { 4 public: 5 vector<vector<int>> fourSum(vector<int>& nums, int target) 6 { 7 vector<vector<int>> res; 8 int n = nums.size(); 9 sort(nums.begin(),nums.end()); 10 for(int a = 0;a < n;a ++) 11 { 12 //列举的第一个元素不能与前面元素重合 13 if(a > 0 && nums[a] == nums[a-1]) continue; 14 15 for(int i = a + 1;i < n;i ++) 16 { 17 int l = i + 1; 18 int r = n - 1; 19 int sum = target - nums[a] - nums[i]; 20 while(l < r) 21 { 22 if(nums[l] + nums[r] > sum) r--; 23 else if(nums[l] + nums[r] < sum) l++; 24 else 25 { 26 res.push_back({nums[a],nums[i],nums[l++],nums[r--]}); 27 } 28 } 29 } 30 } 31 32 sort(res.begin(),res.end()); 33 auto it = unique(res.begin(),res.end()); 34 res.erase(it,res.end()); 35 return res; 36 } 37 };
标签:size color lse span 思想 turn == solution int
原文地址:https://www.cnblogs.com/yuhong1103/p/12499190.html