位置: 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为什么不维护了)

  • 个人所得税汇算表
  • 首套房契税税率是多少?
  • 初中毕业可以考警察学校吗
  • 汇算清缴的费用会计怎么做账
  • 三供一业移交内容
  • 资产减值损失结转到哪个科目
  • 用友软件在哪里
  • 在本公司交社保辞职了还能交吗
  • 去年的进项发票今年还能抵扣吗
  • 对公账户的钱能转到私人账户吗
  • 企业所得税计算方法举例说明
  • 高新技术企业职工人数如何确定
  • 虚开增值税普通罪量刑标准
  • 母公司收取服务费请示
  • 应交税金的负数金额要怎么调整
  • 预缴增值税 已交税金
  • 房地产成本核算会计分录
  • 商标使用权入股可以退出吗
  • 承兑汇票打折支付如何账务处理?
  • 印花税缴纳后合计怎么算
  • 企业关闭股东拿回投资款需要交税吗
  • 产假期间工资如何发放
  • 给职工买的意外险怎么做账
  • 临时工工资作为人员成本如何做账
  • 存货周转天数计算公式是360还是365
  • 生物性资产是什么
  • 采购商品产生的费用有哪些
  • 银行呆帐坏账
  • 发票开了款没付
  • 进项税额多出来怎么处理
  • 土地开发中三通一平
  • 补交申报的利息怎么入账
  • 机关党建经费提取比例
  • 社保退回的钱怎么做会计分录
  • 交易性金融资产是什么意思
  • javascript中
  • 交契税需要什么东西
  • 传媒改革
  • PHP:stream_set_chunk_size()的用法_Stream函数
  • 收益类账户的会计分录
  • 非居民所得税代扣代缴
  • 增值税进项税额属于什么会计科目
  • qttask.exe是什么进程?qttask.exe是不是病毒?
  • php+jQuery+Ajax实现点赞效果的方法(附源码下载)
  • 申报补缴是什么意思
  • 转让存货属于什么收入
  • php递归实现1到100的和
  • php对数组进行排序
  • 纳税检查调整的销售额确认收入吗
  • PHP+Apache+Mysql环境搭建教程
  • 生产企业支付的车间劳务外包费入账科目
  • 递延所得税资产借贷方向
  • 土地出让与土地划拨有什么区别
  • 帝国cms8.0
  • 织梦使用手册
  • 物流公司交的保证金可以退吗?
  • 资源税的征税对象都是原矿和选矿
  • 账面价值与计税基础的区别和联系
  • 合同结算属于资产吗
  • 新成立的公司能干吗
  • 招待费的增值税怎么算
  • 增值税专用发票几个点
  • 做无票收入如何报税
  • 收到对方红字发票信息表怎么处理
  • mssql导出数据库
  • win7系统安装win10 怎么安装
  • win xp 添加网络打印机
  • ubuntu命令行中文乱码怎么解决
  • 苹果电脑使用u盾怎么用
  • macbookpro登陆
  • winxp如何进入bios
  • win8 任务栏
  • linux tar -xzvf
  • 小地图的主要作用是观察队友的大概位置
  • vue是如何实现双向绑定的
  • 详解js的异步编码
  • angularjs2
  • 发票打印怎么调整尺寸
  • 东莞房地产协会副会长
  • 新企业会计准则长期待摊费用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设