JAVA_LeetCode 90_Subsets II
JAVA_LeetCode 90_Subsets II 풀이 class Solution { public List<List<Integer>> subsetsWithDup(int[] nums) { List<List<Integer>> list = new ArrayList<>(); Arrays.sort(nums); // 중복 처리 용이하게 정렬 back(0, nums, new ArrayList<>(), list); return list; } private void back(int st, int[] nums, List<Integer> temp, List<List<Integer>> list) { // 시작 시 바로 리스트에 담기 list.add(new ArrayList<>(temp)); for(int i = st; i < nums.length; i++) { // 같은 depth에서 이전 값과 같으면 건너뜀(중복 제거) if(i > st && nums[i] == nums[i - 1]) continue;