当前位置:网站首页>46.全排列
46.全排列
2022-08-01 21:48:00 【SY_XLR】
给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。
示例 1:
输入:nums = [1,2,3]
输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
示例 2:
输入:nums = [0,1]
输出:[[0,1],[1,0]]
示例 3:
输入:nums = [1]
输出:[[1]]
提示:
1 <= nums.length <= 6
-10 <= nums[i] <= 10
nums 中的所有整数 互不相同
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/permutations
题意很好理解。
class Solution {
public:
vector<int> v;
vector<vector<int>> ans;
map<int,bool> visited;
void dfs(vector<int>& nums,int cnt,int size){
//cnt为v中元素个数
if(cnt == size){ //cnt等于nums的元素个数时结束递归
ans.push_back(v);
return;
}
for(int j = 0;j < size;j++){
if(visited[nums[j]] != 1){ //该处数值没有被访问
visited[nums[j]] = 1; //标记为已被访问
v.push_back(nums[j]);
dfs(nums,cnt+1,size);
visited[nums[j]] = 0; //重新标为未被访问
v.pop_back();
}
}
return;
}
vector<vector<int>> permute(vector<int>& nums) {
int size = nums.size();
dfs(nums,0,size);
return ans;
}
};边栏推荐
- 论文解读(GSAT)《Interpretable and Generalizable Graph Learning via Stochastic Attention Mechanism》
- 基于php酒店在线预定管理系统获取(php毕业设计)
- ModuleNotFoundError: No module named ‘yaml‘
- Homework 8.1 Orphans and Zombies
- Scala练习题+答案
- long investment career
- ARFoundation入门教程U2-AR场景截图截屏
- Shell编程条件语句
- WEB 渗透之端口协议
- 365天挑战LeetCode1000题——Day 046 生成每种字符都是奇数个的字符串 + 两数相加 + 有效的括号
猜你喜欢
随机推荐
Spark练习题+答案
Today's sleep quality record 74 points
微软校园大使喊你来秋招啦!
User Experience | How to Measure User Experience?
SAP ABAP OData 服务如何支持删除(Delete)操作试读版
KMP 字符串匹配问题
用户体验 | 如何度量用户体验?
Delicious this year
C语言必杀技3行代码把运行速度提升4倍
Unity Shader general lighting model code finishing
Based on php hotel online reservation management system acquisition (php graduation project)
可视化——Superset使用
安全第五次课后练习
The Microsoft campus ambassador to shout you to autumn recruit!
回收租凭系统100%开源无加密 商城+回收+租赁
今年的很美味
AI应用第一课:支付宝刷脸登录
熟悉的朋友
找工作必备!如何让面试官对你刮目相看,建议收藏尝试!!
作业8.1 孤儿进程与僵尸进程









