全排列 II(C++)
全排列 II(C++)
全排列 II难度中等1197收藏分享切换为英文接收动态反馈给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。示例 1:代码语言:javascript代码运行次数:0运行复制输入: nums = [1,1,2]
输出:
[[1,1,2],
[1,2,1],
[2,1,1]]示例 2:代码语言:javascript代码运行次数:0运行复制输入:
全排列 II(C++)
全排列 II
难度中等1197收藏分享切换为英文接收动态反馈
给定一个可包含重复数字的序列 nums
,按任意顺序 返回所有不重复的全排列。
示例 1:
代码语言:javascript代码运行次数:0运行复制输入: nums = [1,1,2]
输出:
[[1,1,2],
[1,2,1],
[2,1,1]]
示例 2:
代码语言:javascript代码运行次数:0运行复制输入: nums = [1,2,]
输出: [[1,2,],[1,,2],[2,1,],[2,,1],[,1,2],[,2,1]]
提示:
1 <= nums.length <= 8
-10 <= nums[i] <= 10
我的代码:
代码语言:javascript代码运行次数:0运行复制// 全排列是dfs的入门题
class Solution {
private:
set<vector<int> >res;
vector<int> v;
public:
vector<vector<int>> permuteUnique(vector<int>& nums) {
bool st[nums.size() + 10];
for (int i = 0; i < nums.size() + 10; ++ i) st[i] = false;
dfs(0, nums.size(), st, nums);
vector<vector<int> > last_res(res.begin(), ());
return last_res;
}
void dfs (int u, int n, bool st[], vector<int>& nums)
{
if (u == n)
{
res.insert(v);
return;
}
for (int i = 0; i < n; ++ i)
{
if (!st[i])
{
st[i] = true;
v.push_back(nums[i]);
dfs (u + 1, n, st, nums);
v.pop_back();
st[i] = false;
}
}
}
};
对应我的掘金文章:
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2022-12-06,如有侵权请联系 cloudcommunity@tencent 删除intvector入门c++dfs#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-20 14:15:10
上一篇:全排列(C++)
下一篇:字母异位词分组(C++)
推荐阅读
留言与评论(共有 19 条评论) |
本站网友 替硝唑片说明书 | 29分钟前 发表 |
2] | |
本站网友 探雷针 | 30分钟前 发表 |
本站网友 长沙拓展培训 | 18分钟前 发表 |
[2 | |
本站网友 tpp是什么意思 | 7分钟前 发表 |
1 | |
本站网友 输入法无法切换 | 26分钟前 发表 |
2 | |
本站网友 工行纸白银价格走势 | 30分钟前 发表 |
1] | |
本站网友 中医治疗肝硬化 | 15分钟前 发表 |
1] | |
本站网友 武汉网吧转让 | 25分钟前 发表 |
1 | |
本站网友 北湖区政府网 | 3分钟前 发表 |
本站网友 品牌电动车 | 16分钟前 发表 |
全排列 II(C++) 全排列 II难度中等1197收藏分享切换为英文接收动态反馈给定一个可包含重复数字的序列 nums | |
本站网友 构菌 | 11分钟前 发表 |
[2 | |
本站网友 吴铭火锅团购 | 5分钟前 发表 |
bool st[] | |
本站网友 上海徐汇区租房 | 26分钟前 发表 |
[2 | |
本站网友 盐城团购网 | 20分钟前 发表 |
1]]提示:1 <= nums.length <= 8-10 <= nums[i] <= 10我的代码:代码语言:javascript代码运行次数:0运行复制// 全排列是dfs的入门题 class Solution { private | |
本站网友 10月10号 | 29分钟前 发表 |
vector<int>& nums) { if (u == n) { res.insert(v); return; } for (int i = 0; i < n; ++ i) { if (!st[i]) { st[i] = true; v.push_back(nums[i]); dfs (u + 1 | |
本站网友 上海比朗仪器有限公司 | 22分钟前 发表 |
原始发表:2022-12-06 | |
本站网友 怎么美白牙齿 | 3分钟前 发表 |
2] 输出: [[1 | |
本站网友 证券分析格雷厄姆 | 22分钟前 发表 |
示例 1:代码语言:javascript代码运行次数:0运行复制输入: nums = [1 |