zoukankan      html  css  js  c++  java
  • leetcode 90. subsets

    解题思路:

    要生成子集,对于vector 中的每个数,对于每个子集有两种情况,加入或不加入。

    因此代码:

    class Solution {
    public:
        void subsetG(vector<int> nums, vector<vector<int>>& result, vector<int> temp, int c)
        {
            if(c>=nums.size())
            {
               result.push_back(temp); 
                return ;
            }
            int i=c;
                subsetG(nums,result, temp,i+1);        
                temp.push_back(nums[i]);
                subsetG(nums,result, temp,i+1);
    
    
        }
            
        vector<vector<int>> subsetsWithDup(vector<int>& nums) {
        
            vector<vector<int>> result;
            vector<int> temp;
           subsetG(nums,  result,temp,0);
       
            return result;
    
        }
    };
    

     

     但是这样会造成许多重复的子集,因为重复的情况我们只需要考虑一次.可以分为拿和不拿. 如果拿的话就按照正常往下一层搜索, 如果不拿当前值的话, 那么也要跳过接下来和当前值相等的元素.

    class Solution {
    public:
        void subsetG(vector<int> nums, vector<vector<int>>& result, vector<int> temp, int c)
        {
            if(c>=nums.size())
            {
               result.push_back(temp); 
                return ;
            }
            int i=c;
               while(c+1<nums.size()&&nums[i]==nums[c+1])
               {
                   c++;
               }
                subsetG(nums,result, temp,c+1);
                
                temp.push_back(nums[i]);
       
                subsetG(nums,result, temp,i+1);
      
        }
            
        vector<vector<int>> subsetsWithDup(vector<int>& nums) {
        
    
            vector<vector<int>> result;
            vector<int> temp;
           subsetG(nums,  result,temp,0);
            
            
            return result;
            
            
            
        }
    };
    

      

  • 相关阅读:
    srvany.exe和instsrv.exe_2
    srvany.exe和instsrv.exe
    C# “国密加密算法”SM系列的C#实现方法
    DMZ讲解
    java 判断字符串是否为json格式
    MFC DrawText如何使多行文字居中显示 Demo
    C++ 实现一个日志类
    数据库两个神器【索引和锁】
    CentOS 7.*编译安装PHP8
    Centos添加永久环境变量
  • 原文地址:https://www.cnblogs.com/fanhaha/p/7376532.html
Copyright © 2011-2022 走看看