神奇的思路(3)

对于set的深度理解,以及auto的灵活使用
(set和priority_queue有点不同是set中没有重复的数)

class Solution {
public:
    vector> fourSum(vector& nums, int target) {
        if(nums.size()<4) return {};
        sort(nums.begin(),nums.end());
        set> a;//用来去重
        vector> res;
        for(int i=0;itarget&&target>0) break;
            for(int j=i+1;j{nums[i],nums[j],nums[l],nums[r]});
                    }
                }
            }
        }
        for(auto c:a)
        {
            res.push_back(c);
        }
        return res;
    }
};

其实主要是最后的三句话
for( auto c :a )
a是我们上面提到的set,里面装的是vector。

多数和等于或者最接近target

一般就是双指针从头扫到位
然后结合vector和set(主要是用来除重)
然后多几个循环

你可能感兴趣的:(set,auto)