leetcode516_leetcode46

leetcode516_leetcode46题目描述Givenacollectionofnumbers,returnallpossiblepermutations.Forexample,[1,2,3]havethefollowingpermutations:[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],and[3,2,1].分析代码publicList<

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

题目描述

Given a collection of numbers, return all possible permutations.

For example,
[1,2,3] have the following permutations:
[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], and [3,2,1].

分析


这里写图片描述

代码

    public List<List<Integer>> permute(int[] nums) {

        if (nums == null || nums.length == 0) {
            return new ArrayList<List<Integer>>();
        }

        ArrayList<List<Integer>> rt = new ArrayList<List<Integer>>();

        if (nums.length == 1) {
            rt.add(new ArrayList<Integer>(Arrays.asList(nums[0])));
        } else {

            for (int i = 0; i < nums.length; i++) {
                for (List<Integer> l : permute(resetof(nums, i))) {
                    l.add(nums[i]);
                    rt.add(l);
                }
            }
        }

        return rt;
    }

    private int[] resetof(int[] nums, int index) {

        int[] rt = new int[nums.length - 1];

        int s = 0;
        for (int i = 0; i < nums.length; i++) {
            if (i != index) {
                rt[s++] = nums[i];
            }
        }

        return rt;
    }

参考网址

Permutations

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191267.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PA功率放大器的设计「建议收藏」

    各种无线通信系统的发展,如GSM、WCDMA、TD-SCOMA、WiMAX和Wi-Fi,大大加速了半导体器件和射频功率放大器的研究进程。射频功率放大器在无线通信系统中起着至关重要的作用,它的设计好坏影响着整个系统的性能,因此,无线系统需要设计性能良好的放大器。而且,为了适应无线系统的快速发展,产品开发的周期也是一个重要因素。另外,在各种无线系统中由于不同调制类型和多载波信号的采用,射频工程师为减小功率放大器的非线性失真,尤其是设计无线基站应用的高功率放大器时面临着巨大的挑战。

    2022年4月11日
    212
  • Java开发人员必须掌握的Linux命令(二)[通俗易懂]

    子曰:“工欲善其事,必先利其器。“学习应该是快乐的,在这个乐园中我努力让自己能用简洁易懂(搞笑有趣)的表达来讲解让知识或者技术,让学习之旅充满乐趣,这就是写博文的初心。本篇的旅行地图如下:第一站:小木 会先 登录酷炫的服务器,进入(cd)到神秘的magic 空间(目录),当我们忘记是怎么进入magic空间(目录)时候,可以使用(pwd)立刻得知目前所在的工作目录。第二站:在magi…

    2022年2月28日
    43
  • 分布式计算的基本原理

    分布式计算的基本原理从最近几次 MMI 设计会议讨论的结果来看 嵌入式程序员对于分布式计算知之甚少 他们对分布式计算有种恐惧 所以对分布式架构极力排斥 而他们的人数又占绝对优势 讨论 N 次 MMI 的架构还是没有确定下来 分布式计算已经进入桌面环境 不是企业应用的专利了 像 GNOME GNUNetworkOb 的名字本身就暗示着分布式计算了 本文介绍一下分布式的基本原理 揭开分

    2025年8月12日
    5
  • modelsim-win64-10.4-se 破解(win7实验成功)(其他操作系统也可参考,大同小异)

    modelsim-win64-10.4-se 破解(win7实验成功)(其他操作系统也可参考,大同小异)下载好的文件如下图,包括安装文件以及破解文件:1、运行modelsim-win64-10.4-se.exe,安装软件;     注意事项:安装路径可自行设置,但不要出现汉字。本例安装路径为:D:\modeltech64_10.4\win642、将解压的破解文件(MentorKG.exe和patch_dll.bat)复制到安装目录下的win64文件夹中。3、进入安装目录下的win64 文件夹…

    2022年5月10日
    117
  • SSL协议简介

    SSL协议简介最近在看《密码学与网络安全》相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL。在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识。1、密码学的相关概念密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性。明文(plaintext):发送人、接受人和任何访问消息的人都能理解的消息。密文(ciphertext):明…

    2022年6月2日
    99
  • 能源预测:回顾与展望(IEEE论文)

    能源预测:回顾与展望(IEEE论文)EnergyForecasting:AReviewandOutlook—阅读笔记。

    2022年5月3日
    66

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号