题解 | #牛牛的三元组问题#

牛牛的三元组问题

https://www.nowcoder.com/practice/72c6d735fb1144a2ba162976a4510839

#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @return int整型vector<vector<>>
     */
    vector<vector<int> > findTriplets(vector<int>& nums) {
        // write code here
        // 三重遍历
        sort(nums.begin(), nums.end());
        vector<vector<int> > ans;
        int len = nums.size();
        set<vector<int>> s_v;

        for(int i=0; i<len; ++i)
        {
            // 这里面也可以用双指针遍历了;
            for(int j=i+1; j<len; ++j)
            {
                for(int k=j+1; k<len; ++k)
                {
                    if(nums[i]+nums[j]+nums[k]==0 && s_v.count(vector<int>{nums[i],nums[j],nums[k]})==0)
                    {
                        ans.emplace_back(vector<int>{nums[i],nums[j],nums[k]});
                        s_v.emplace(vector<int>{nums[i],nums[j],nums[k]});
                    }       
                }
            }
        }

        return ans;
    }
};

虚数五行区解题中心 文章被收录于专栏

非淡泊无以明志,非宁静无以致远

全部评论

相关推荐

脾气小祖宗:这简历摸到都得狠狠地消毒液洗手😂
点赞 评论 收藏
分享
卖挂面鸡蛋不锈钢盆:top2 就发面试的年代已经一去不复发了
投递快手等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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