美文网首页程序员
力扣 90 子集 II

力扣 90 子集 II

作者: zhaojinhui | 来源:发表于2020-11-14 02:32 被阅读0次

题意:找出一个array的所有子集

思路:

  1. 把array排序
  2. dfs找出所有的组合
  3. 每次dfs中遍历index之后的所有数子,把他们加入temp list,并对新的temp list进行dfs

思想:DFS

复杂度:时间O(n2),空间O(n2)

class Solution {
    List<List<Integer>> res = new ArrayList();
    public List<List<Integer>> subsetsWithDup(int[] nums) {
        Arrays.sort(nums);
        get(nums, 0, new ArrayList());
        return res;
    }
    
    void get(int[] nums, int index, List<Integer> list) {
        res.add(list);
        for(int i=index;i<nums.length;i++) {
            // 去除重复的情况
            if(i > index && nums[i] == nums[i-1]) {
                continue;
            }
            List<Integer> temp = new ArrayList(list);
            temp.add(nums[i]);
            get(nums, i+1, temp);
        }
    }
}

相关文章

  • 力扣 90 子集 II

    题意:找出一个array的所有子集 思路: 把array排序 dfs找出所有的组合 每次dfs中遍历index之后...

  • LeetCode 力扣 90. 子集 II

    题目描述(中等难度) 78题升级版,大家可以先做 78 题。给定一个数组,输出所有它的子数组。区别在于,这道题给定...

  • Leetcode 90 子集 II

    90. 子集 II[https://leetcode-cn.com/problems/subsets-ii/] 题...

  • Leetcode 子集 II

    题目描述 leetcode 第90题:子集 II[https://leetcode-cn.com/problems...

  • 90.子集II

    题目给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集...

  • 子集 II(LeetCode 90)

    题目https://www.jianshu.com/p/3150417100af升级版 给定一个可能包含重复元素的...

  • 90.子集 II

    原题 https://leetcode-cn.com/problems/subsets-ii/ 解题思路 同 78...

  • LeetCode - #90 子集 II

    前言 我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swi...

  • 90. Subsets II/子集 II

    Given a collection of integers that might contain duplica...

  • 78. 子集、90. 子集 II

    78. 子集[https://leetcode-cn.com/problems/subsets/] 给你一个整数数...

网友评论

    本文标题:力扣 90 子集 II

    本文链接:https://www.haomeiwen.com/subject/zsnmbktx.html