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相关文章
- Leetcode 5:最长回文子串(最详细的解法!!!)[通俗易懂]
- [LeetCode 验证回文串] | 刷题打卡
- LeetCode周赛298,阳光普照,参加就能简历免筛
- Leetcode题目 039. 组合总和
- leetcode 141. 环形链表 js 实现
- LeetCode 刷题笔记——day 4
- Leetcode No.147 对链表进行插入排序
- leetcode-234. 回文链表
- leetcode 22 括号生成 js 实现
- LeetCode笔记:Weekly Contest 317
- 【数据结构与算法】:带你熟悉归并排序(手绘图解+leetCode原题)
- LeetCode - #66 加一
- LeetCode和面试中的常客,巧妙的两指针算法
- 每日一道leetcode:5. 最长回文子串
- LeetCode 0109 有序链表转换二叉搜索树详解编程语言