题解 | #三数之和#

class Solution {
  public:
    vector<vector<int> > threeSum(vector<int>& num) {
        vector<vector<int>> myTwoVec;
        set<vector<int>> myset;
        for (int i = 0; i < num.size(); i++) {
            int twosum = 0 - num[i];
            map<int, int> mapA{};
            for (int j = i + 1; j < num.size(); j++) {
                if (!mapA[twosum - num[j]])
                    mapA[num[j]] = 1;
                else {
                    vector<int> mytempvec{num[i], twosum - num[j], num[j]};
                    sort(mytempvec.begin(), mytempvec.end());
                    myset.insert(mytempvec);
                }
            }
        }
        for (auto i : myset)
            myTwoVec.push_back(i);
        return myTwoVec;
    }
};

set去重+自动排序

全部评论

相关推荐

09-01 11:31
门头沟学院 Java
buul:七牛云的吧,感觉想法是好的,但是大家没那么多时间弄他这个啊。。。不知道的还以为他是顶尖大厂呢还搞比赛抢hc,只能说应试者的痛苦考察方是无法理解的,他们只会想一出是一出
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务