leetcode46:全排列

全排列

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。

java 复制代码
List<List<Integer>> list = new ArrayList<>();

    public List<List<Integer>> permute(int[] nums) {
        LinkedList<Integer> res = new LinkedList<>();
        for (int i = 0; i < nums.length; i++) {
            res.add(nums[i]);
        }
        backTrack(nums,0,res);
        return list;
    }

    void backTrack(int nums[], int start, LinkedList<Integer> res){
        if(start == nums.length){
            list.add(new ArrayList<>(res));
            return;
        }
        for (int i = start; i < nums.length; i++) {
            swap(res,start,i);
            backTrack(nums,start+1,res);
            swap(res,start,i);
        }
    }

    private void swap(LinkedList<Integer> res, int start, int i) {
        int a = res.get(start);
        res.set(start,res.get(i));
        res.set(i,a);
    }

回溯

相关推荐
CryptoRzz18 分钟前
欧美(美股、加拿大股票、墨西哥股票)股票数据接口文档
java·服务器·开发语言·数据库·区块链
杂货铺的小掌柜38 分钟前
apache poi excel 字体数量限制
java·excel·poi
大厂码农老A1 小时前
你打的日志,正在拖垮你的系统:从P4小白到P7专家都是怎么打日志的?
java·前端·后端
艾菜籽1 小时前
Spring MVC入门补充2
java·spring·mvc
爆更小哇1 小时前
统一功能处理
java·spring boot
程序员鱼皮1 小时前
我造了个程序员练兵场,专治技术焦虑症!
java·计算机·程序员·编程·自学
n8n2 小时前
SpringAI 完全指南:为Java应用注入生成式AI能力
java·后端
不爱编程的小九九2 小时前
小九源码-springboot082-java旅游攻略平台
java·开发语言·旅游
只是懒得想了2 小时前
用C++实现一个高效可扩展的行为树(Behavior Tree)框架
java·开发语言·c++·design-patterns
码农阿树2 小时前
Java 离线视频目标检测性能优化:从 Graphics2D 到 OpenCV 原生绘图的 20 倍性能提升实战
java·yolo·目标检测·音视频