力扣 中等 46.全排列

文章目录

题目介绍

题解

代码如下:

java 复制代码
class Solution {
    List<List<Integer>> res = new ArrayList<>();// 存放符合条件结果的集合
    List<Integer> path = new ArrayList<>();// 用来存放符合条件结果
    boolean[] used; // 标记数组,记录数字是否被使用过
    public List<List<Integer>> permute(int[] nums) {
        used = new boolean[nums.length];   
        dfs(nums);
        return res;
    }
    public void dfs(int[] nums) {
        if (path.size() == nums.length) {
            res.add(new ArrayList<>(path));
            return;
        }
        for (int i = 0; i < nums.length; i++) {
            if (used[i] == false) {
                path.add(nums[i]);
                used[i] = true;
                dfs(nums);
                // 回溯,撤销选择并从路径中移除当前数字      
                path.remove(path.size() - 1);
                used[i] = false;
            }
        }
    }
}
相关推荐
追随者永远是胜利者1 分钟前
(LeetCode-Hot100)72. 编辑距离
java·算法·leetcode·职场和发展·go
musenh3 分钟前
springmvc学习
java·学习
啊阿狸不会拉杆5 分钟前
《计算机视觉:模型、学习和推理》第 2 章-概率概述
人工智能·python·学习·算法·机器学习·计算机视觉·ai
石牌桥网管5 分钟前
golang Context介绍
开发语言·算法·golang
Hello.Reader6 分钟前
Flink State Backend 选型、配置、RocksDB 调优、ForSt 与 Changelog 一次讲透
java·网络·数据库
_OP_CHEN7 分钟前
【算法提高篇】(四)线段树之多个区间操作:懒标记优先级博弈与实战突破
算法·蓝桥杯·线段树·c/c++·区间查询·acm、icpc·区间操作
俩娃妈教编程7 分钟前
2025 年 09 月 三级真题(1)--数组清零
c++·算法·gesp真题
人道领域16 分钟前
Maven多环境配置实战指南
java·数据库·spring
AI科技星18 分钟前
时空的几何动力学:基于光速螺旋运动公设的速度上限定理求导与全维度验证
人工智能·线性代数·算法·机器学习·平面
㓗冽20 分钟前
进制转换(字符串)-基础题82th + 表达式求值(字符串)-基础题83th + 删除字符(字符串)-基础题84th
算法