【LeetCode热题100(54/100)】全排列

题目地址: 链接

思路: 通过递归 + 回溯方式实现 全排列

js 复制代码
/**
 * @param {number[]} nums
 * @return {number[][]}
 */
var permute = function(nums) {
    let n = nums.length;
    let vited = new Array(n).fill(false);

    let ans = [];
    const dfs = (idx, arr) => {
        if(idx == n) {
            ans.push(arr);
            return;
        }
        for(let i = 0; i < nums.length; i ++) {
            if(vited[i]) continue;
            vited[i] = true;
            dfs(idx + 1, [...arr, nums[i]]);
            vited[i] = false;
        }
    }
    dfs(0, []);
    return ans;
};
相关推荐
松涛和鸣1 小时前
11.C 语言学习:递归、宏定义、预处理、汉诺塔、Fibonacci 等
linux·c语言·开发语言·学习·算法·排序算法
2501_941111243 小时前
C++与自动驾驶系统
开发语言·c++·算法
2501_941111693 小时前
C++中的枚举类高级用法
开发语言·c++·算法
jz_ddk3 小时前
[算法] 算法PK:LMS与RLS的对比研究
人工智能·神经网络·算法·信号处理·lms·rls·自适应滤波
Miraitowa_cheems3 小时前
LeetCode算法日记 - Day 106: 两个字符串的最小ASCII删除和
java·数据结构·算法·leetcode·深度优先
旭编3 小时前
小红的好矩形
c++·算法
小白程序员成长日记3 小时前
2025.11.12 力扣每日一题
算法·leetcode·职场和发展
Alex艾力的IT数字空间4 小时前
设计既保持高性能又兼顾可移植性的跨平台数据结构
数据结构·分布式·算法·微服务·中间件·架构·动态规划
leoufung4 小时前
贪心算法核心定理与应用——以 Gas Station 问题为例
算法·贪心算法
2501_941111464 小时前
C++与硬件交互编程
开发语言·c++·算法