LeetCode 78. Subsets
Given an integer array nums of unique elements, return all possible subsets (the power set).
The solution set must not contain duplicate subsets. Return the solution in any order.
Example 1:
复制Input: nums = [1,2,3]
Output: [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
Example 2:
Input: nums = [0]
Output: [[],[0]]
Constraints:
1 <= nums.length <= 10
-10 <= nums[i] <= 10
All the numbers of nums are unique.
实现思路:
乍一看有点像全排列,但是又不同,因为元素递增方式是1 12 123 2 23 3,
逐步递增,用暴力方式就像是双循环,本题依旧是个回溯的题目,采用基本的回溯模型就很容易做出本题。
AC代码:
class Solution {
vector<vector<int>> ans;
vector<int> sq;
public:
void dfs(vector<int> &nums,int idx) {
ans.push_back(sq);//这一块是关键 第一个答案为空
if(idx+1==nums.size())
return;
for(int i=idx+1; i<nums.size(); i++) {
sq.push_back(nums[i]);
dfs(nums,i);
sq.pop_back();
}
}
vector<vector<int>> subsets(vector<int>& nums) {
dfs(nums,-1);
return ans;
}
};
标签:
LeetCode题库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次 .NET某固高运动卡测试 卡慢分析
· 微服务架构学习与思考:微服务拆分的原则
· 记一次 .NET某云HIS系统 CPU爆高分析
· 如果单表数据量大,只能考虑分库分表吗?
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 博客园2025新款「AI繁忙」系列T恤上架
· Avalonia跨平台实战(二),Avalonia相比WPF的便利合集(一)
· C# LINQ 快速入门实战指南,建议收藏学习!
· Redis实现高并发场景下的计数器设计
· 上周热点回顾(4.7-4.13)