力扣 中等 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;
            }
        }
    }
}
相关推荐
Coder_Boy_2 分钟前
基于SpringAI的智能平台基座开发-(五)
java·人工智能·spring boot·langchain·springai
步步为营DotNet4 分钟前
深度探索.NET 中 IAsyncEnumerable:异步迭代的底层奥秘与高效实践
java·jvm·.net
x66ccff6 分钟前
Claude Code 安装方法
android·java·数据库
毕设源码-赖学姐9 分钟前
【开题答辩全过程】以 高校社团管理系统设计与实现为例,包含答辩的问题和答案
java·eclipse
PacosonSWJTU9 分钟前
Guava缓存使用入门
java·缓存·guava
豆豆11 分钟前
支持企业/政府/高校网站站群的cms内容管理系统有哪些
java·开发语言·cms·低代码平台·工单系统·sso单点登录·站群cms
一个专注写代码的程序媛14 分钟前
流式读取数据
java·数据结构·算法
Halo_tjn16 分钟前
Java Set集合知识点
java·开发语言·数据结构·windows·算法
廋到被风吹走17 分钟前
【Java】JPA
java·开发语言·oracle
计算机毕设指导620 分钟前
基于微信小程序的设备报修系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea