位置: IT常识 - 正文

回溯法实现全排序Ⅰ(回溯法实现全排序的方法)

编辑:rootadmin
给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums =

推荐整理分享回溯法实现全排序Ⅰ(回溯法实现全排序的方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:回溯法可以使用什么方法实现,回溯法全排列时间复杂度,回溯法实现全排序的方法,回溯法怎么实现,回溯法全排列时间复杂度,回溯法求全排列,回溯法实现全排序的方法,回溯算法全排列,内容如对您有帮助,希望把文章链接给更多的朋友!

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

示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]输出:[[1]]

存放于数组A的n个元素,生成其排列:

第一个元素不动,生成后面n-1个元素的排列;第一、第二个元素互换,生成后面n-1个元素的排列;最后,第一个、第n个元素互换,生成后面n-1个元素的排列回溯法实现全排序Ⅰ(回溯法实现全排序的方法)

为生成后面n-1个元素的排列,继续采取下面的步骤:

第二个元素不动,生成后面n-2个元素的排列;第二、第三个元素互换,生成后面n-2个元素的排列;最后,第二个、第n个元素互换,生成后面n-2个元素的排列;

当排列的前n-2个元素已确定后,为生成后面2个元素的排列,可以:

第n-1个元素不动,生成后面1个元素的排列,此时,n个元素已构成排列;

第n-1、第n个元素互换,生成后面1个元素的排列,此时,n个元素已构成排列;

Java代码class Solution { public List<List<Integer>> permute(int[] nums) { List<List<Integer>> res = new ArrayList<List<Integer>>(); List<Integer> output = new ArrayList<Integer>(); for (int num : nums) { output.add(num); } int n = nums.length; backtrack(n, output, res, 0); return res; } public void backtrack(int n, List<Integer> output, List<List<Integer>> res, int first) { // 所有数都填完了 if (first == n) { res.add(new ArrayList<Integer>(output)); } for (int i = first; i < n; i++) { // 动态维护数组 Collections.swap(output, first, i); // 继续递归填下一个数 backtrack(n, output, res, first + 1); // 撤销操作 Collections.swap(output, first, i); } }}

注:

(1)以下是java.util.Collections.swap()方法的

本文链接地址:https://www.jiuchutong.com/zhishi/312006.html 转载请保留说明!

上一篇:注册有赞微小店教程,用于织梦个人支付(有赞微小店认证麻烦)

下一篇:修改织梦CMS默认模板中的颜色字体(织梦cms为什么不维护了)

  • 如何利用微博来推广论坛(怎么用好微博)

    如何利用微博来推广论坛(怎么用好微博)

  • 花花卡福字怎么扫(花花卡福字图片)(福字花花卡图片必出花花卡的福)

    花花卡福字怎么扫(花花卡福字图片)(福字花花卡图片必出花花卡的福)

  • 华为gt2pro怎么添加音乐(华为gt2pro怎么添加网易云音乐)

    华为gt2pro怎么添加音乐(华为gt2pro怎么添加网易云音乐)

  • 苹果防丢失定位功能怎么用(苹果防丢失定位设置)

    苹果防丢失定位功能怎么用(苹果防丢失定位设置)

  • 网页打开很慢怎么回事啊(网页打开很慢怎么回事啊笔记本)

    网页打开很慢怎么回事啊(网页打开很慢怎么回事啊笔记本)

  • vivo三个键不见了怎么办(vivo三个按键失灵怎么办)

    vivo三个键不见了怎么办(vivo三个按键失灵怎么办)

  • 宽带亮红灯怎么恢复(宽带亮红灯怎么解决)

    宽带亮红灯怎么恢复(宽带亮红灯怎么解决)

  • 饿了么网关超时(饿了么一直提示网络异常)

    饿了么网关超时(饿了么一直提示网络异常)

  • 可拓展硬盘位什么意思(可拓展双硬盘位是什么意思)

    可拓展硬盘位什么意思(可拓展双硬盘位是什么意思)

  • 手机电池是什么电池(苹果手机电池是什么)

    手机电池是什么电池(苹果手机电池是什么)

  • 手机氧化什么意思(手机氧化正常吗)

    手机氧化什么意思(手机氧化正常吗)

  • pr比特率越高越清晰吗(pr比特率调到多少不影响画质)

    pr比特率越高越清晰吗(pr比特率调到多少不影响画质)

  • 手机怎么录制mp4(手机怎么录制mp4视频)

    手机怎么录制mp4(手机怎么录制mp4视频)

  • 打印机安装驱动后不能打印(打印机安装驱动连接USB电缆没有下一步)

    打印机安装驱动后不能打印(打印机安装驱动连接USB电缆没有下一步)

  • 苹果x可以更新ios13吗(苹果x可以更新ios15吗)

    苹果x可以更新ios13吗(苹果x可以更新ios15吗)

  • 苹果笔记本不开机怎么回事(苹果笔记本不开机咋回事)

    苹果笔记本不开机怎么回事(苹果笔记本不开机咋回事)

  • 手机信号一直是2g怎么办(手机信号一直是3G是怎么回事)

    手机信号一直是2g怎么办(手机信号一直是3G是怎么回事)

  • c语句是什么(c语句是什么意思)

    c语句是什么(c语句是什么意思)

  • 拼多多两人团怎么发货(拼多多两个人怎么拼单)

    拼多多两人团怎么发货(拼多多两个人怎么拼单)

  • 三星s10+移动定制版和公开版有什么区别(三星s10移动定制版)

    三星s10+移动定制版和公开版有什么区别(三星s10移动定制版)

  • 00开头骚扰电话怎么解决(00开头骚扰电话报警有用吗)

    00开头骚扰电话怎么解决(00开头骚扰电话报警有用吗)

  • 移动黑色卡是特殊卡么(移动黑色卡是特别卡吗)

    移动黑色卡是特殊卡么(移动黑色卡是特别卡吗)

  • 抖音里的时光倒流怎么使用(抖音里的时光倒计时在哪)

    抖音里的时光倒流怎么使用(抖音里的时光倒计时在哪)

  • 出口退税通俗理解
  • 民营医院所得税如何计算
  • 旅行社给游客买保险的步骤是什么
  • 增值税10%怎么算
  • 企业发工资哪些需要缴个人所得税?
  • 增值税免税收入汇算清缴的时候填哪
  • 小规模纳税人咨询费税率
  • 实收资本里的钱怎么做账
  • 商品赠送的内账怎么做账
  • 公司用备用金去哪里投诉
  • 物流公司货车报废款怎么做账
  • 四项服务加计扣除政策2023
  • 发票勾选保存后不提交了能留到下月抵扣吗?
  • 福利费不需要发票
  • 如何安装u盘的系统
  • 发票认证平台上不去
  • ampa.exe是什么
  • vue 高德地图 窗体
  • 深度学习模型精度fp16和fp32
  • 其他应付款在现金流量表怎么填
  • 土地受让方交的税是什么
  • 药品生产企业应建立
  • 出口增值税怎么计算公式
  • 集团公司管理费提取办法
  • 最奢华的女士腕表
  • 现金返利分录
  • php开发文档
  • 单位购买电水壶会计入账
  • 不接受商业承兑会怎么样
  • 误餐补助所得税处理
  • 增值税专用发票和普通发票的区别
  • 管理成本分摊比例是多少
  • 母公司子公司合并
  • python idle有什么用
  • sql行列转换结果保存为新表
  • 航空电子客票行程单是发票吗
  • 外购商品发放给员工 进项税额能不能抵扣
  • 小规模出售固定资产账务处理
  • 饭店开业多久可以正常
  • 口罩属于哪个科目 会计
  • 收回投资收到的现金占比大说明
  • 售出货物
  • 年化收益率和年利率区别
  • 转租单位房子合法吗
  • 未担保余值举例
  • 交税务局的工会经费现金流
  • 关于利润分配科目的表述正确的有
  • 以前年度损益调整
  • 回购股票并注销是利好吗
  • 建筑业红字发票如何开
  • 少做收入第二年怎么算
  • 企业进项税额如何账务处理
  • 私营企业主的现金流特征
  • 怎么设置xp系统
  • safari 快捷键
  • linux 使用
  • centos7 cp命令
  • centos crontab每天执行
  • win7更改电脑设置在哪里
  • 如何将windows 7升级到windows 10
  • linux的ftp命令
  • 鼠标点击关闭按钮没反应
  • 在Ubuntu Trusty 14.04 (LTS) (64-bit)安装Docker的步骤
  • linux软件类型
  • centos删除vg
  • windows7如何启动任务管理器
  • win 7怎么办
  • android游戏排行榜
  • python生成密钥
  • jquery validate文档
  • 批处理文件bat
  • 关于Python的lambda函数,以下选项
  • JavaScript中的math.pi
  • linux查看shell脚本内容
  • js能实现的简单效果
  • android network
  • js获取
  • 为什么发莎
  • 润泽一词出自哪里
  • 应缴财政专户款属于资产类吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设