zoukankan      html  css  js  c++  java
  • 78. Subsets

    Given a set of distinct integers, nums, return all possible subsets (the power set).

    Note: The solution set must not contain duplicate subsets.

    For example,
    If nums = [1,2,3], a solution is:

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

    解题思路:

    1-n进行递归?

    1. class Solution {  
    2. private:  
    3.     vector<vector<int>> ret;  
    4.     vector<int> store;  
    5.     void deep(int level, vector<vector<int>> &ret,vector<int>& nums,int count,int index){  
    6.         if(level == 0) {ret.push_back(store);return;}  
    7.         if(level == nums.size()) {ret.push_back(nums);return;}  
    8.         if(count == level){ret.push_back(store);return;}  
    9.           
    10.         for(int i=index;i<nums.size();i++){  
    11.             store.push_back(nums[i]);  
    12.             deep(level,ret,nums,count+1,i+1);  
    13.             store.pop_back();  
    14.               
    15.         }  
    16.           
    17.           
    18.           
    19.     }  
    20.   
    21. public:  
    22.     vector<vector<int>> subsets(vector<int>& nums) {  
    23.           
    24.           
    25.         for(int i=0;i<=nums.size();i++){  
    26.             store.clear();  
    27.             deep(i,ret,nums,0,0);  
    28.         }  
    29.         return ret;  
    30.           
    31.     }  
    32. };  
  • 相关阅读:
    为什么非全站升级HTTPS不可?
    使用JSON实现分页
    Git常用命令
    chrome浏览器tab页内存占用变大,网站变慢为哪般?
    我们前端跟后端是怎么合作的
    关于响应式布局
    AngularJS(1)
    关于php语言的使用!
    你必须收藏的Github技巧
    CSS3 动画
  • 原文地址:https://www.cnblogs.com/liangyc/p/8847609.html
Copyright © 2011-2022 走看看