leetcode 90. Subsets II

1534 단어 leetcode부분 집합
제목
부분 집합 생 성(즉 모든 조합)
해제
dfs 사용.
코드
public class Solution {

    ArrayList> lists = new ArrayList>();
    ArrayList temp = new ArrayList();
    void combine(int[] nums, int pos, int n)
    {
        if(pos == n)
        {
            if(!lists.contains(temp))
                lists.add(new ArrayList(temp));
        }
        else
        {
            temp.add(nums[pos]);
            combine(nums, pos + 1, n);
            temp.remove(temp.size() - 1);
            combine(nums, pos + 1, n);
        }
    }
    public List> subsetsWithDup(int[] nums) {
        Arrays.sort(nums);
        combine(nums, 0, nums.length);
        return lists;
    }
}

좋은 웹페이지 즐겨찾기