Skip to content

Commit 7b235d2

Browse files
committed
UPDATE
_78题 所有子集
1 parent 24b934a commit 7b235d2

1 file changed

Lines changed: 14 additions & 20 deletions

File tree

  • java-note-algorithm/src/main/java/com/leosanqing/leetcode/medium/list

‎java-note-algorithm/src/main/java/com/leosanqing/leetcode/medium/list/_78_subsets.java‎

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.leosanqing.leetcode.medium.list;
22

3+
import com.alibaba.fastjson.JSON;
4+
35
import java.util.ArrayList;
46
import java.util.List;
57

@@ -17,42 +19,34 @@
1719
*/
1820
public class _78_subsets {
1921
public static void main(String[] args) {
20-
subsets(new int[]{1,2,3});
22+
System.out.println(JSON.toJSONString(subsets(new int[]{1, 2, 3})));
2123
}
2224

25+
/**
26+
* 这个真的太经典了,回溯的经典题型,你会发现有很多很多这种的题
27+
*
28+
* @param nums
29+
* @return
30+
*/
2331
public static List<List<Integer>> subsets(int[] nums) {
24-
2532
List<List<Integer>> answer = new ArrayList<>();
26-
answer.add(new ArrayList<>());
2733

28-
if (nums.length == 0) {
29-
return answer;
30-
}
31-
for (int i = 1; i <= nums.length; i++) {
32-
backTrace(answer, new ArrayList<>(), nums, i, 0);
34+
for (int i = 0; i <= nums.length; i++) {
35+
backtrace(answer, new ArrayList<>(), i, nums, 0);
3336
}
3437

3538
return answer;
36-
3739
}
3840

39-
/**
40-
* 这个我已经不想说了,太多一样的解法了
41-
* @param answer
42-
* @param list
43-
* @param nums
44-
* @param max
45-
* @param position
46-
*/
47-
private static void backTrace(List<List<Integer>> answer, List<Integer> list, int[] nums, int max, int position) {
41+
private static void backtrace(List<List<Integer>> answer, List<Integer> list, int max, int[] nums, int position) {
4842
if (list.size() == max) {
4943
answer.add(new ArrayList<>(list));
5044
return;
5145
}
46+
5247
for (int i = position; i < nums.length; i++) {
5348
list.add(nums[i]);
54-
55-
backTrace(answer, list, nums, max, i + 1);
49+
backtrace(answer, list, max, nums, i + 1);
5650
list.remove(list.size() - 1);
5751
}
5852
}

0 commit comments

Comments
 (0)