46. Permutations 排列数
2024-10-21 07:33:00
46. Permutations
题目
Given a collection of distinct numbers, return all possible permutations.
For example,
[1,2,3] have the following permutations:
[
[1,2,3],
[1,3,2],
[2,1,3],
[2,3,1],
[3,1,2],
[3,2,1]
]
解析
class Solution_46 {
public:
void help(int i,vector<int> &nums,vector<vector<int>> &vecs)
{
if (i==nums.size())
{
vecs.push_back(nums);
return;
}
else
{
for (int j = i; j < nums.size();j++)
{
swap(nums[i],nums[j]);
help(i + 1, nums,vecs);
swap(nums[i],nums[j]);
}
}
return;
}
vector<vector<int>> permute(vector<int>& nums) {
vector<vector<int>> vecs;
if (nums.size()==0)
{
return vecs;
}
help(0, nums,vecs);
return vecs;
}
};
题目来源
最新文章
- 解决css3毛玻璃效果(blur)有白边问题
- BZOJ2933: [Poi1999]地图
- 【CronExpression表达式详解和案例】
- 详解css中的position属性
- java设计模式之命令模式
- Uva 11478 Halum操作
- poj 2749
- C++引用计数
- Git 分支管理详解
- [Android学习笔记]捕获物理回退事件
- CI如何在子目录下可以设置默认控制器
- Tomcat去除端口号和项目名(转)
- C#中的Unsafe和Fixed
- linux.go
- 对Java中properties类的理解
- 2019省赛训练组队赛3.26周二---FJUT 2016
- luogu4187
- Python之常用模块--collections模块
- 【贪心策略】渡河(river)
- 嗜血法医第一二三季/Dexter全集迅雷下载