leetcodeSolution 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; 4 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 } 17 18 public: 19 vector<vector<int>> permute(vector<int> &nums) { 20 seen.resize(nums.size()); 21 rec(nums, 0); 22 return res; 23 } 24 };