zl程序教程

您现在的位置是:首页 >  其他

当前栏目

LeetCode排列组合问题合集详解编程语言

LeetCode编程语言 问题 详解 合集 排列组合
2023-06-13 09:20:22 时间
Subsets

Given a set of distinct integers, nums, return all possible subsets.
给定一组非重复数字,求出所有可能的子集

例如 [1,2,3],解法:
首先放[],然后往已有的[]中放1
1. 首先放1
此时已有[ [], 1 ]
2. 然后对[ [], 1 ] 放2
于是此时有 [ [], [1], [2], [1,2] ]
3. 然后对[ [], [1], [2], [1,2] ] 放3
此时[ [], [1], [2], [1,2], [3], [1,3], [2,3], [1,2,3] ] 求出解

public class Solution { 

 public List List Integer  subsets(int[] nums) { 

 List List Integer  result = new ArrayList (); 

 result.add(new ArrayList Integer  

 

 Arrays.sort(nums); //算法思想:往当前已有的组合中添加 for (int i : nums) { 

 List List Integer  tmp = new ArrayList (); for (List Integer  a : result) { 

 List Integer  sub = new ArrayList (a); sub.add(i); 

 tmp.add(sub); 

 } 

 result.addAll(tmp); 

 } return result; 

 } 

}

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/7787.html

c