1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
class { public: vector<vector<int>> fourSum(vector<int>& nums, int target) { sort(nums.begin(),nums.end()); int len = nums.size(); vector<vector<int>> v; set<vector<int>> s; if(len<4) return v; for(int i=0;i<len-3;i++){ for(int j=i+1;j<len-2;j++){ int k=j+1, l=len-1; while(k<l){ int sum = nums[i]+nums[j]+nums[k]+nums[l]; if(sum<target){ ++k; } else if(sum>target){ --l; } else{ vector<int> temp = {nums[i],nums[j],nums[k],nums[l]}; s.insert(temp); ++k; --l; } } } } for(auto item:s){ v.push_back(item); } return v; } };
|
近期评论