zoukankan      html  css  js  c++  java
  • 18. Subsets II【medium】

    Given a list of numbers that may has duplicate numbers, return all possible subsets

     Notice
    • Each element in a subset must be in non-descending order.
    • The ordering between two subsets is free.
    • The solution set must not contain duplicate subsets.
    Example

    If S = [1,2,2], a solution is:

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

    Can you do it in both recursively and iteratively?

    题意

    给定一个可能具有重复数字的列表,返回其所有可能的子集

     注意事项
    • 子集中的每个元素都是非降序的
    • 两个子集间的顺序是无关紧要的
    • 解集中不能包含重复子集

    解法一:

     1 class Solution {
     2 public:
     3     /*
     4      * @param nums: A set of numbers.
     5      * @return: A list of lists. All valid subsets.
     6      */
     7     vector<vector<int>> subsetsWithDup(vector<int> &nums) {
     8         // write your code here
     9         vector<vector<int> > results;
    10         vector<int> result;
    11         
    12         sort(nums.begin(), nums.end());
    13         
    14         helper(nums, 0, result, results);
    15         
    16         return results;
    17     }
    18     
    19     void helper(vector<int> &nums, int start, vector<int> & result, vector<vector<int> > & results)
    20     {
    21         results.push_back(result);
    22         
    23         for (int i = start; i < nums.size(); ++i) {
    24             if (i > start && nums[i] == nums[i - 1]) {
    25                 continue;
    26             }
    27             
    28             result.push_back(nums[i]);
    29             
    30             helper(nums, i + 1, result, results);
    31             
    32             result.pop_back();
    33         }
    34     }
    35 };
  • 相关阅读:
    xgboost
    GBDT 梯度提升决策树简述
    minimal pairs
    Describe your hometown
    英语短句
    英汉翻译
    英语音译词
    power的读音
    英语口语(英语词根与单词的说文解字(李平武 2008版)读书笔记)
    Jar包转成Dll的方式(带嵌套的jar也能做)
  • 原文地址:https://www.cnblogs.com/abc-begin/p/8320299.html
Copyright © 2011-2022 走看看