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

嘉祥网站建设凉山州建设厅官方网站

嘉祥网站建设,凉山州建设厅官方网站,网站开发电子书,公司如何办网站回溯经典例题。 题目 通过回溯生成所有可能的排列。每次递归时#xff0c;选择一个数字#xff0c;直到选满所有数字#xff0c;然后记录当前排列#xff0c;回到上层时移除最后选的数字并继续选择其他未选的数字。每次递归时#xff0c;在 path 中添加一个新的数字…回溯经典例题。 题目 通过回溯生成所有可能的排列。每次递归时选择一个数字直到选满所有数字然后记录当前排列回到上层时移除最后选的数字并继续选择其他未选的数字。每次递归时在 path 中添加一个新的数字直到 path 的长度等于数组 nums 的长度此时可以将 path 添加到结果集中。当递归深入到某一层时我们在返回上层前移除 path 中最后添加的数字恢复现场尝试其他未选的数字。用循环遍历然后每次把已加过的数做剔除去选。 记住dfs递归时会逐层进入即进入后遇到dfs便会进入下一个dfs逐渐挖到最深层然后在出口处加入结果集。接着进行回溯回溯到上一步的dfs后接着执行当前方法的下面的语句直到当前方法执行完后再次进行回溯因此回溯的过程中实际上也是进入循环了这样也便于选目标元素了。然后递归一定要记得加入的是path副本回溯时要做好恢复。 class Solution {public ListListInteger permute(int[] nums) {LinkedListListInteger res new LinkedList(); //排列组合结果LinkedListInteger path new LinkedList(); //单个排列dfs(res,nums,path);return res;}public void dfs(ListListInteger res, int[] nums, LinkedListInteger path){if(path.size() nums.length){res.add( new ArrayListInteger(path) ); //对于每次添加的单个排列应该都是不同的引用对象}for(int i0; inums.length; i){if(path.contains(nums[i])) {continue;} //当前层中已添加的数不再考虑 path.add(nums[i]); //未添加的数则存放dfs(res, nums, path); //进入下一层递归path.removeLast(); //从深层节点向浅层节点回溯}} }
http://www.w-s-a.com/news/137385/

相关文章:

  • 做网站行情郑州微信网站开发
  • 河间网站建设制作null wordpress theme
  • h5网站制作网站开发网站建设文翻译工作
  • 网站建设 税种秦皇岛哪有网站优化公司
  • 专业开发网站设计找人做网页需要多少钱
  • 手机购物网站 建站网站建设网站制作网站设计
  • 基于iview的网站开发模板小程序制作需要什么语言
  • 精美网站设计保定建行网站首页登录
  • 网站建设常见问题做网站保存什么格式最好
  • 营销型网站建设与网页设计网站建设 amp 找VX cp5173
  • 新网站该如何做网站优化呢儿童手工
  • 湖北现代城市建设集团网站搜索引擎优化的作用
  • 上海做网站吧开一家软件开发公司需要什么
  • 阿里巴巴网站建设改图片建设厅官方网站河南
  • 邓砚谷电子商务网站建设镇江网
  • 网站空间支持什么程序工作服款式
  • 网站单页品牌网站建设 蝌蚪5小
  • 怎么做外贸网站需注意哪些做电脑系统的网站
  • 网站建设介绍推广用语河南网站优化外包服务
  • 课程网站模板贵州省城乡与建设厅网站
  • 网站模板及源码谁家网站用户体验做的好
  • 做网站的技术要求搜索栏在wordpress菜单上位置
  • 如何给网站弄ftpwordpress怎么添加关键词描述
  • 成都工程建设信息网站金科网站建设
  • 传媒公司 网站开发厦门网站建设门户
  • 宿城区建设局网站做网站的绿色背景图
  • 网站空间托管合同 .doc网站开发团队 组建
  • 网站建设书本信息it运维服务
  • 四核网站建设设计网站流程
  • ui设计网站设计与网页制作视频教程wordpress插件漏洞利用