leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

0046.cpp (605B)


0 class Solution {
1 vector<vector<int>> res;
2 vector<int> crnt;
3 vector<bool> seen;
5 void rec(vector<int> &nums, int n) {
6 if (n == nums.size()) {
7 res.push_back(crnt);
8 return;
9 }
10 for (int i = 0; i < nums.size(); i++) {
11 if (seen[i]) continue;
12 seen[i] = true, crnt.push_back(nums[i]);
13 rec(nums, n + 1);
14 seen[i] = false, crnt.pop_back();
15 }
16 }
18 public:
19 vector<vector<int>> permute(vector<int> &nums) {
20 seen.resize(nums.size());
21 rec(nums, 0);
22 return res;
23 }
24 };