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

牛牛的三元组问题

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

#include <numeric>
#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @return int整型vector<vector<>>
     */
    set<vector<int>> res;
    bool back(vector<int>& cir,int nums_len,int idx,int start,vector<int>& nums){
        if(idx==3){
            if(accumulate(cir.begin(), cir.end(), 0)==0){
                res.insert(cir);
                return true;
            }
            
        }else{
            bool flag=false;
            for(int i=start;i<nums_len;i++){
                cir.push_back(nums[i]);
                flag=back(cir,nums_len,idx+1,i+1,nums);
                cir.pop_back();
                if(flag) break;
            }
        }
        return false;
    }
    vector<vector<int> > findTriplets(vector<int>& nums) {
        // write code here
        sort(nums.begin(),nums.end());
        vector<int> cir;
        back(cir,nums.size(),0,0,nums);
        return vector<vector<int>>(res.begin(),res.end());
    }
};

全部评论

相关推荐

10-29 18:20
济南大学 Java
用微笑面对困难:他不是人事吗,怎么净特么不干人事
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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