美文网首页
46.全排列

46.全排列

作者: 我不是匠人 | 来源:发表于2021-03-27 14:20 被阅读0次

思路

  • 深度搜索+回溯
  • 2021.03.27
class Solution {
public:
    int n;
    vector<vector<int>> res;
    vector<int> temp;
    vector<bool> st;
    vector<vector<int>> permute(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        n = nums.size();
        temp.resize(n);
        st.resize(n);
        dfs(nums, 0);    
        return res;
    }
    void dfs(vector<int>&nums, int u){
        if(u == n){
            res.push_back(temp);
            return;
        }
        
        for(int i = 0; i < n; i++){
            if(!st[i]){
                st[i] = true;
                temp[i] = nums[u];
                dfs(nums, u+1);
                st[i] = false;
            }
        }
    }
};

相关文章

网友评论

      本文标题:46.全排列

      本文链接:https://www.haomeiwen.com/subject/hhcyhltx.html