文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
子集
解题思路
枚举出当前可选的数:
- 如果第一个数选 1,选第二个数,2、3 可选;
- 如果第一个数选 2,选第二个数,只有 3 可选;
- 如果第一个数选 3,没有第二个数可选;
代码实现
/**
Do not return anything, modify nums in-place instead.
*/
const subsets = (nums: number[]): number[][] => {
const result: number[][] = [];
const dfs = (index: number, list: number[]) => {
result.push(list.slice());
for (let i = index; i < nums.length; i++) {
list.push(nums[i]);
dfs(i + 1, list);
list.pop();
}
};
dfs(0, []);
return result;
};
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论