篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了46. Permutations 排列数相关的知识,希望对你有一定的参考价值。
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;
}
};
题目来源
以上是关于46. Permutations 排列数的主要内容,如果未能解决你的问题,请参考以下文章