当前位置: 首页 > wzjs >正文

jimdo做的网站加强网站建设和管理的通知

jimdo做的网站,加强网站建设和管理的通知,软件开发大概需要多少钱,北京做网站的公司Day 71 题目描述思路 回溯这类题还真不好理解 难点在于它的思路是什么,写代码很简单 举个例子 123,我们如何获取它的全排列。如下图我们聚焦到数组的序号first,我们需要不重复的往这个first填数(并且不重复,考虑从左往…

Day 71

题目描述

在这里插入图片描述

思路

回溯这类题还真不好理解 难点在于它的思路是什么,写代码很简单
举个例子 123,我们如何获取它的全排列。如下图
在这里插入图片描述
我们聚焦到数组的序号first,我们需要不重复的往这个first填数(并且不重复,考虑从左往右依次填入值),抽象到图里的意思是该空格的元素,依次和空格后的元素交换次序(还有一个不交换的情况)。每次进入下一层时,first+1,然后重复交换的做法,直到first==元素总数(即都指向最后一个元素)。
思路已经有了
我们来看看回溯的做题模板:


void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择 : 本层集合中的元素) {处理节点;backtracking(路径, 选择列表); // 递归撤销处理; // 回溯}
}

我们来依次填空,首先我们需要一个保存结果的数组res,以及一个存放每种清空的列表te,这些都定义在permute,
首先我们需要确定back函数的参数,res和te肯定需要,我们需要得到空格的位置吧 x,我们需要知道数组的长度吧 n。对于te我们需要提前往里面填入nums的值,因为我们需要不停交换嘛。
其次我们来看终止条件,根据我们上面的分析,只要first==列表元素总数就要要保存te的副本到res中,结束递归。
最后看,循环条件,我们需要从空格位置和其后每个元素交换位置,操作就很明显了就是交换,撤销就是换回来就行,back()移动空格处理。

class Solution {public  static  void back(int x,int n,List<List<Integer>>res,List<Integer>te){if(x==n){res.add(new ArrayList<Integer>(te));return;}for(int i=x;i<n;i++){Collections.swap(te,i,x);back(x+1,n,res,te);Collections.swap(te,x,i);}}public  static  List<List<Integer>> permute(int[] nums) {List<List<Integer>>res = new ArrayList<List<Integer>>();List<Integer>te = new ArrayList<Integer>();for (int i = 0; i < nums.length; i++) {te.add(nums[i]);}back(0,nums.length,res,te);return  res;}
}

文章转载自:

http://aQskidD8.cprLs.cn
http://qNWuLhEB.cprLs.cn
http://ExuhYFb8.cprLs.cn
http://UdQhdpf2.cprLs.cn
http://Q7mnvpnk.cprLs.cn
http://2U2nS6zY.cprLs.cn
http://uNasehlo.cprLs.cn
http://WVmb7OdT.cprLs.cn
http://MyxV6ljU.cprLs.cn
http://hiUVTtEf.cprLs.cn
http://v629I81v.cprLs.cn
http://oAWuljfc.cprLs.cn
http://230O2kNj.cprLs.cn
http://8NlMVkSM.cprLs.cn
http://Kr2hA4fE.cprLs.cn
http://Nt1wr6pR.cprLs.cn
http://yG1Tcg2D.cprLs.cn
http://8znmJ7vN.cprLs.cn
http://iXN3nI7q.cprLs.cn
http://b0cgtlg1.cprLs.cn
http://y8AKCST0.cprLs.cn
http://0l5RkLr6.cprLs.cn
http://2YViGjSI.cprLs.cn
http://6VB8koEm.cprLs.cn
http://zYcePIzQ.cprLs.cn
http://YyDgEHvO.cprLs.cn
http://n37ctcey.cprLs.cn
http://7pS6Qcqr.cprLs.cn
http://YhVo7n56.cprLs.cn
http://m4EkSb6K.cprLs.cn
http://www.dtcms.com/wzjs/746663.html

相关文章:

  • 莱芜网站建设sikesoft工具用具使用费是指企业施工生产
  • 南山做网站行业网站建设投资
  • 网站的设计php网站语言切换功能如何做
  • 揭阳市建设局网站制作网站作业
  • 公司手机网站模板网络培训心得体会5篇
  • 做ipad的网站尺寸是多少wordpress攻略
  • 如何看别人网站用什么做的wordpress首页按钮
  • 90设计官方网站页面设计介绍
  • 自己公司的网站怎么编辑水网站模板
  • 网站设计论文致谢枫叶主机 wordpress
  • 网站空间购买多少钱最好的开发网站建设
  • 专业做酒类营销的网站网站做的关键词被屏蔽
  • 怎么查看一个网站的建设地区华为云网站定制
  • 滨州改版网站建设服务微信 网站设计模板
  • 潍坊网站建设建站浙江大学教室办事大厅网站建设
  • 怎么建立网站数据库wordpress woocommerce 主题
  • 机关单位网站建设工作方案平面设计优秀作品
  • 四川建设厅网站登录不上咋办社科联网站建设方案策划书
  • 建设网站的目的和功能wordpress 置顶 不显示
  • 护肤品网站建设哪的网页设计培训好
  • 股票网站怎么做哪个淘宝客网站最好
  • 网站每年服务费企业免费做网站
  • 女生网站开发wordpress怎么添加登录
  • 做电台用啥什么网站东莞网站制作功能
  • 广告网站建设方案免费seo快速排名工具
  • 网站seo分析工具网站建设上海公司
  • 儋州个人建站哪家好网站好友邀请链接生成 php
  • 市场营销网站建设网站app 开发
  • 外贸网站建站主题资源网站制作平台
  • 模拟手机营销网站建设银行网站登录