力扣-回溯-46 全排列

思路

单层递归逻辑中用used数组记录是否用过就可以了

代码

cpp 复制代码
class Solution {
public:
    vector<int> path;
    vector< vector<int> > result;
    void backtracking(vector<int> nums, vector<bool> used){
        if(path.size() == nums.size()){
            result.push_back(path);
            return;
        }

        for(int i = 0; i < nums.size(); i++){
            if(used[i]) continue;
            path.push_back(nums[i]);
            used[i] = true;
            backtracking(nums, used);
            used[i] = false;
            path.pop_back(); 
        }
        return;
    }

    vector<vector<int>> permute(vector<int>& nums) {
        path.clear();
        result.clear();
        vector<bool> used(nums.size(), false);
        backtracking(nums, used);
        return result;
    }
};
相关推荐
yzp-1 天前
算法 198. 打家劫舍 ---------动态规划学习
算法
好奇龙猫1 天前
大学院-筆記試験練習:线性代数和数据结构(18)
数据结构·线性代数
小小王app小程序开发1 天前
潮玩抽赏盲盒玩法开发全解析:算法、架构与合规风控
算法·架构
汉克老师1 天前
GESP2025年12月认证C++三级真题与解析(单选题1-8)
c++·算法·位运算·string·gesp三级·gesp3级·数据范围
week_泽1 天前
随机森林样本权重的计算-弱学习器
学习·算法·随机森林
Jasmine_llq1 天前
《P2151 [SDOI2009] HH 去散步》
算法·矩阵快速幂·快速幂算法 + 自定义矩阵乘法·图的邻接矩阵(边状态版)·状态拆分 + 转移条件·模运算(防溢出 + 结果取模)·二进制快速幂
The Last.H1 天前
Codeforces Round 1065 (Div. 3)A-C2
c++·算法
tudficdew1 天前
类型安全容器设计
开发语言·c++·算法
naruto_lnq1 天前
C++与Docker集成开发
开发语言·c++·算法
LYS_06181 天前
寒假学习(7)(C语言7+模数电7)
c语言·学习·算法