**(leetcode_backtracking)Permutations
2015-03-05 10:03
267 查看
Permutations
Total Accepted: 41857 TotalSubmissions: 131799My Submissions
Question
Solution
Given a collection of 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],
and
[3,2,1].
Show Tags
Have you met this question in a real interview?
Yes
No
Discuss
class Solution { vector<vector<int> > result; vector<int> single; vector<bool> flag; public: vector<vector<int> > permute(vector<int> &num) { if(num.size()==0) return result; sort(num.begin(), num.end()); for(int i=0; i<num.size(); i++){ flag.push_back(false); single.push_back(num[i]); } bk(num, 0); return result; } void bk(vector<int> &num, int index){ if(index==num.size()){ result.push_back(single); return; } int preNum = num[0]-1; for(int i=0; i<num.size(); i++){ if(!flag[i]&&preNum!=num[i]){ //注意会出现重复数字!! preNum=num[i]; flag[i]=true; single[index]=num[i]; bk(num, index+1); flag[i]=false; } } } };
相关文章推荐
- leetcode--Permutations
- 【LeetCode with Python】 Permutations
- LeetCode题解:Permutations
- leetcode Permutations II 无重全排列
- LeetCode:Permutations(全排列算法的递归与非递归实现)
- leetCode刷题归纳-backtracking(79. Word Search)
- [leetcode] Permutations
- [leetcode] Permutations
- Leetcode: Permutations
- [leetcode] permutations的讨论
- Leetcode 46 Permutations
- [Leetcode] Permutations
- leetcode--Permutations
- 【LeetCode】Permutations
- LeetCode 46 Permutations(全排列问题)
- [LeetCode 题解]: Permutations
- 47. Permutations II LeetCode
- LeetCode(Permutations)
- Leetcode-Permutations
- [Leetcode]Permutations