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

  • 公司注册资本认缴
  • 解除劳动合同支付违约金合法吗
  • 检查记账凭证的主要方法有哪些?
  • 债券的利益
  • 用友软件生成凭证合并进项税
  • 汽车维修费可以计入交通费吗
  • 固定收益凭证是固定的吗
  • 财政拨款结余明细科目编码
  • 个人保险怎么办理
  • 未达起征点销售额,11栏怎么填写
  • 处置其他权益工具投资时,应按取得的价款
  • 财务报表中利润怎么算
  • 发票加盖公章有用吗
  • 新车交车辆购置税需要什么材料
  • 应预缴的增值税
  • 财务报表里现金是什么
  • 长期借款工程完工时会计处理怎么做?
  • 广告位的费用
  • 企业所得税一般是多少
  • 建筑业外出经营管理办法
  • 增值税普通发票税率
  • 汇算清缴差旅费扣除标准
  • 金税盘新领的发票怎么分发出去
  • 增值税专票已经认证
  • 委托加工物资合并报表
  • 代扣代缴境外增值税可以抵扣
  • 工程预收款账务处理
  • 事业单位非税收入怎么做账
  • 出差补贴算工资薪金吗
  • PHP:oci_set_edition()的用法_Oracle函数
  • 最新cpu天梯表
  • 文件夹共享设置权限
  • 付不出去的应付账款如何写说明书
  • PHP:mcrypt_cfb()的用法_Mcrypt函数
  • windows7旗舰版最新版本
  • 新事业单位会计准则
  • 事业单位成本核算制度
  • wordpress拿shell
  • 农村个体户需要报税吗
  • 个人所得税部分缴纳
  • 加计抵减和加计扣除是一样的吗
  • cvpr2020目标跟踪
  • chkconfig命令参数
  • 小微企业会计制度是什么
  • 退票产生的费用如何报销
  • seata1.3.0配置
  • mysql常用命令行大全
  • ubuntu下使用SQLite3的基本命令
  • 增值税无票收入负数预警值
  • 个税申报更正申报如何操作
  • 筹建期发生的费用会计分录
  • spark sql add jar
  • mysql数据库错误日志
  • 公司可以打款给中间人
  • 合同权利义务包含债务吗
  • 补缴社保的利息会进入个人账户里吗
  • 增值税劳务费税率是多少
  • 销售折让的红字信息申请表怎么做
  • 物业公司代业主委员会收公共收益怎么开发票
  • 年利率怎么算计算器
  • 房地产企业发行长期债券的增信方式有哪些
  • mysql --help
  • ubuntu 挂载iso文件
  • debian 安装
  • windows10电脑重置电脑
  • xp系统修改文件类型
  • linux c命令
  • windows media player在播放文件时遇到问题怎么解决
  • 解决安全问题的有效途径
  • win7系统笔记本怎么连接wifi
  • linux判断脚本执行成功
  • javascript正则匹配两个点
  • 用nodejs做的项目
  • 税务稽查时间最长多久?
  • 税务实地核实工作程序
  • 税务局的前身是什么
  • 四川国税网上申报
  • 海关编码更新
  • 增值税按次纳税的规定
  • 预交增值税税款退税流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设