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 {
public:
void swap(int i, int j, vector<int>& nums){
int temp =nums[i];
nums[i] = nums[j];
nums[j]= temp;
}
void allRange(int start, vector<int>& nums, vector<vector<int>>& res)
{
if(start==nums.size()-1)
return;
for(int i =start; i<nums.size(); i++){
cout << start << " "<<i<<endl;
swap(start, i, nums);
if(start!=i)
res.push_back(nums);
allRange(start+1, nums, res);
swap(i, start, nums);
}
}
vector<vector<int>> permute(vector<int>& nums) {
vector<vector<int>> res;
if(nums.size()==0)
return res;
res.push_back(nums);
allRange(0, nums, res);
return res;

}
};
```

## Permutations的更多相关文章

1. Permutations II

Given a collection of numbers that might contain duplicates, return all possible unique permutations ...

2. [LeetCode] Permutations II 全排列之二

Given a collection of numbers that might contain duplicates, return all possible unique permutations ...

3. [LeetCode] Permutations 全排列

Given a collection of numbers, return all possible permutations. For example,[1,2,3] have the follow ...

4. POJ2369 Permutations（置换的周期）

链接:http://poj.org/problem?id=2369 Permutations Time Limit: 1000MS   Memory Limit: 65536K Total Submi ...

5. 【leetcode】Permutations

题目描述: Given a collection of numbers, return all possible permutations. For example, [1,2,3] have the ...

6. [leetcode] 47. Permutations II

Given a collection of numbers that might contain duplicates, return all possible unique permutations ...

7. Leetcode Permutations

Given a collection of numbers, return all possible permutations. For example,[1,2,3] have the follow ...

8. one recursive approach for 3, hdu 1016 (with an improved version) , permutations, N-Queens puzzle 分类： hdoj 2015-07-19 16:49 86人阅读 评论(0) 收藏

one recursive approach to solve hdu 1016, list all permutations, solve N-Queens puzzle. reference: t ...

9. 46. Permutations 回溯算法

https://leetcode.com/problems/permutations/ 求数列的所有排列组合.思路很清晰,将后面每一个元素依次同第一个元素交换,然后递归求接下来的(n-1)个元素的全排 ...

## 随机推荐

1. hadoop运行原理之Job运行(五) 任务调度

接着上篇来说.hadoop首先调度辅助型task(job-cleanup task.task-cleanup task和job-setup task),这是由JobTracker来完成的:但对于计算型 ...

2. 让UNION与ORDER BY并存于SQL语句当中

在SQL语句中,UNION关键字多用来将并列的多组查询结果(表)合并成一个结果(表),简单实例如下: SELECT [Id],[Name],[Comment] FROM [Product1] UNIO ...

3. Android --资料集合

google android 官方教程 http://hukai.me/android-training-course-in-chinese/basics/index.html android视频资料 ...

4. UVa 10213 (欧拉公式+Java大数) How Many Pieces of Land ?

题意: 一块圆形土地,在圆周上选n个点,然后两两连线,问把这块土地分成多少块? 分析: 首先紫书上的公式是错的,不过根据书上提供的思路很容易稍加修改得到正确答案! 然后推公式吧,这里用到平面图的欧拉公 ...

5. 【C++】计算所有小于N的勾股数组合，可以写入txt文件保存，每组占一行。

#ifndef PYTHAGOREAN_H_ #define PYTHAGOREAN_H_ #include <iostream> class Pythagorean { public: ...

6. 安装windows7、windows8.1提示无法创建新的分区

有时候用原版系统镜像安装windows系统时,会提示“windows无法安装到这个磁盘.选中的磁盘采用GPT分区形式”,导致安装失败,下面就来讲解一下如何解决. 1.在系统提示无法安装的那一步,按住“ ...

7. Go Example--格式化字符串

package main import ( "fmt" "os" ) type point struct { x, y int } func main() { ...

8. CS229 6.4 Neurons Networks Autoencoders and Sparsity

BP算法是适合监督学习的,因为要计算损失函数,计算时y值又是必不可少的,现在假设有一系列的无标签train data:  ,其中 ,autoencoders是一种无监督学习算法,它使用了本身作为标签以 ...

9. 短时傅里叶变换(Short Time Fourier Transform)原理及 Python 实现

原理 短时傅里叶变换(Short Time Fourier Transform, STFT) 是一个用于语音信号处理的通用工具.它定义了一个非常有用的时间和频率分布类, 其指定了任意信号随时间和频率变 ...

10. 1.JMeter===添加响应断言

断言即Lr中的检查点,我们在进行测试时,需要对每次请求测试的返回做检验 1.以百度做案例,添加线程组==添加HTTP请求==添加查看结果树 2.在HTTP请求下添加响应断言 注:模式匹配规则,比较常用 ...