[Leetcode]#46 Permutations
来源:互联网 发布:nginx根据url跳转 编辑:程序博客网 时间:2024/05/17 11:34
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].
//#46 Permutations//20ms 28.12%class Solution {public: int getFactorial(int n) { if(n==1 || n==0) return 1; else return n*getFactorial(n-1); } vector<int> permuteOne(vector<int> n, int k) { vector<int> result; vector<int> nums(n.size(), 0); for(unsigned int i=0; i<n.size(); i++) { nums[i] = n[i]; } for(unsigned int i=0; i<n.size(); i++) //determine the corresponding item one by one { //cout << "Current session is " << n-i << endl; //cout << "k = " << k << endl; int insert_num = (k-1) / getFactorial(n.size()-i-1); //cout << "insert_num = " << insert_num << endl; if(insert_num > 0) { result.push_back(nums[insert_num]); //cout << "inserting " << nums[insert_num] << " into string\n"; nums.erase(nums.begin()+insert_num); k = k - insert_num * getFactorial(n.size()-i-1); } else { result.push_back(nums[0]); nums.erase(nums.begin()); } } return result; } vector< vector<int> > permute(vector<int>& nums) { vector< vector<int> > result; int n = getFactorial(nums.size()); for(int i=0; i<n; i++) { vector<int> v = permuteOne(nums, i+1); result.push_back(v); } return result; }};
0 0
- LeetCode 46 Permutations + LeetCode 47 Permutations II
- LeetCode 46: Permutations
- leetcode 46 Permutations
- LeetCode 46 Permutations II
- LeetCode(46) Permutations
- [leetcode 46] Permutations
- Leetcode NO.46 Permutations
- leetcode || 46、Permutations
- leetcode-46 Permutations
- leetcode 46 : Permutations
- Leetcode #46 Permutations
- LeetCode(46) Permutations
- leetcode 46: Permutations
- [leetcode-46]Permutations(java)
- LeetCode(46)Permutations
- [Leetcode]#46 Permutations
- leetcode 46:Permutations
- 【leetcode】【46】Permutations
- 【程序设计】定时任务调度平台需求说明书
- [Leetcode]#35 Search Insert Position
- [Leetcode]#38 Count and Say
- [Leetcode]#43 Multiply Strings
- bootstrap让label和input在一行里
- [Leetcode]#46 Permutations
- [Leetcode172]Factorial Trailing Zeroes
- [Leetcode]#50 Pow(x, n)
- 使用CollapsiblePanelExtender实现展开和收缩效果以及Accordion控件
- [Leetcode]#58 Length of Last Word
- [Leetcode]#60 Permutation Sequence
- 微信上收藏的文章保存到evernote
- [Leetcode]#61 Rotate List
- [Leetcode]#66 Plus One