Untitled

 avatar
unknown
c_cpp
16 days ago
942 B
4
Indexable
yes
do it wrt this code : 
#include <bits/stdc++.h>
using namespace std;

void backtrack(vector<vector<int>>& res, vector<int>& nums, vector<int>& permutation, vector<bool>& used){
    if(permutation.size() == nums.size()){
        res.push_back(permutation);
        return;
    }
    for(int i=0; i<nums.size(); i++){
        if(!used[i]){
            used[i]=true;
            permutation.push_back(nums[i]);
            backtrack(res, nums, permutation, used);
            used[i]=false;
            permutation.pop_back();
        }
    }
}

vector<vector<int>> permute(vector<int>& nums){
    vector<vector<int>>res;
    vector<bool>used(nums.size(), false);
    vector<int>permutation;
    backtrack(res, nums, permutation, used);
    return res;
}

int main(){
    vector<int>nums={1,2,3};
    vector<vector<int>> res = permute(nums);
    for(vector<int>&x : res){
        for(int y : x)cout << y << " ";
        cout << endl;
    }
}
Editor is loading...
Leave a Comment