设为首页 加入收藏

TOP

[LeetCode]90.Subsets II
2015-07-20 17:14:41 来源: 作者: 【 】 浏览:2
Tags:LeetCode 90.Subsets

题目

Given a collection of integers that might contain duplicates, S, return all possible subsets.

Note:
Elements in a subset must be in non-descending order.
The solution set must not contain duplicate subsets.
For example,
If S = [1,2,2], a solution is:

[
[2],
[1],
[1,2,2],
[2,2],
[1,2],
[]
]

思路

和78.Subsets的唯一区别就是添加了两行去重的代码。

代码

    /**------------------------------------
    *   日期:2015-03-01
    *   作者:SJF0115
    *   题目: 90.Subsets II
    *   网址:https://oj.leetcode.com/problems/subsets-ii/
    *   结果:AC
    *   来源:LeetCode
    *   博客:
    ---------------------------------------**/
    #include 
   
     #include 
    
      #include 
     
       using namespace std; class Solution { public: vector
      
        > subsetsWithDup(vector
       
         &S) { int size = S.size(); vector
        
          > result; vector
         
           path; // 排序 sort(S.begin(),S.end()); // 空集 result.push_back(path); // 其他子集 for(int i = 1;i <= size;++i){ DFS(S,size,i,0,path,result); }//for return result; } private: // s源数据集 n源数据个数 k子集长度 index为第index个元素 path路径 result最终结果 void DFS(vector
          
            &s,int n,int k,int index,vector
           
             &path,vector
            
              > &result){ // 一个子集 if(path.size() == k){ result.push_back(path); return; }//if for(int i = index;i < n;++i){ // 去重 if(i != index && s[i] == s[i-1]){ continue; }//if path.push_back(s[i]); DFS(s,n,k,i+1,path,result); path.pop_back(); }//for } }; int main(){ Solution s; vector
             
               num = {1,2,2}; vector
              
                > result = s.subsetsWithDup(num); // 输出 for(int i = 0;i < result.size();++i){ for(int j = 0;j < result[i].size();++j){ cout<
               
              
             
            
           
          
         
        
       
      
     
    
   

运行时间

这里写图片描述

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Codeforces Round #294 (Div. 2) .. 下一篇CodeForces 264B Good Sequences ..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·【C语言】动态内存管 (2025-12-27 06:23:20)
·C语言中的内存管理 - (2025-12-27 06:23:16)
·C语言指南:C语言内 (2025-12-27 06:23:14)
·Redis on AWS:Elast (2025-12-27 04:19:30)
·在 Spring Boot 项目 (2025-12-27 04:19:27)