Subsets II

来源:互联网 发布:辛普森悖论 知乎 编辑:程序博客网 时间:2024/06/05 04:56
public class Solution {    public List<List<Integer>> subsetsWithDup(int[] nums) {        List<List<Integer>> result = new ArrayList<List<Integer>>();        if (nums == null || nums.length < 1) {            return result;        }        List<Integer> level = new ArrayList<Integer>();        Arrays.sort(nums);        dfs(result, level, 0, nums);        return result;    }    private void dfs(List<List<Integer>> result, List<Integer> level, int loc, int[] nums) {        result.add(new ArrayList<Integer>(level));        for (int i = loc; i < nums.length; i++) {            if (i != loc&& nums[i] == nums[i - 1]) {                continue;            }            level.add(nums[i]);            dfs(result, level, i + 1, nums);            level.remove(level.size() - 1);        }    }}

0 0
原创粉丝点击