作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/subsets/solution/zi-ji-by-leetcode-solution/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
嗯......还是回溯。官方答案的话,可以代入{1,2}或者{1},顺着代码走一遍,就好理解了。啧啧......啥也不会,每天靠着看答案过日子。哦,美剧(性爱自修室 第三季)更新了,最近在疯狂删减,建议速刷。
个人微改:
import java.util.ArrayList;
import java.util.List;
class love{
List<List<Integer>> res = new ArrayList<List<Integer>>();
List<Integer> ans = new ArrayList<>();
public List<List<Integer>> sub(int[] nums){
dfs(0,nums);
return res;
}
public void dfs(int cur,int[] nums) {
if(cur == nums.length) {
res.add(new ArrayList<Integer>(ans));
return;
}
ans.add(nums[cur]);
dfs(cur+1,nums);
ans.remove(ans.size()-1);
dfs(cur+1,nums);
}
}
public class Subset {
public static void main(String args[]) {
int[] nums = new int[] {1,2,3};
love hah = new love();
System.out.println(hah.sub(nums));
}
}

本文通过回溯法详细解析了如何生成给定整数数组的所有可能子集,并附带了一个简洁的Java实现示例。

被折叠的 条评论
为什么被折叠?



