zoukankan      html  css  js  c++  java
  • Leetcode 90. 子集 II

    地址  https://leetcode-cn.com/problems/subsets-ii/

    给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。
    
    说明:解集不能包含重复的子集。
    
    
    示例:
    
    输入: [1,2,2]
    输出:
    [
      [2],
      [1],
      [1,2,2],
      [2,2],
      [1,2],
      []
    ]

    使用DFS 这里取了个巧  使用set做了去重

    class Solution {
    public:
        set<vector<int>>  sv;
    
        void dfs(int idx,vector<int>& nums,vector<int> v)
        {
            if(idx >= nums.size()) return;
            sv.insert(v);
            dfs(idx+1,nums,v);
    
            v.push_back(nums[idx]);
            sv.insert(v);
            dfs(idx+1,nums,v);
        }
    
        vector<vector<int>> subsetsWithDup(vector<int>& nums) {
            sort(nums.begin(),nums.end());
            vector<int> v;
            dfs(0,nums,v);
    
            vector<vector<int>> ret(sv.begin(),sv.end());
            return ret;
        }
    };
    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    html 问题
    bookshelf
    requireJS 用法
    autoprefixer
    移动端 代码块
    D3 学习资源
    折线图
    iscroll 4 下拉 上拉 加载
    iscroll
    重金悬赏的微软:提交Win8漏洞以及发布Win8应用
  • 原文地址:https://www.cnblogs.com/itdef/p/11923950.html
Copyright © 2011-2022 走看看