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

程序代码优化网站网络推广员是什么工作

程序代码优化网站,网络推广员是什么工作,长沙企业网站建设哪家好,做电影下载网站赚钱回溯经典例题。 题目 通过回溯生成所有可能的排列。每次递归时,选择一个数字,直到选满所有数字,然后记录当前排列,回到上层时移除最后选的数字并继续选择其他未选的数字。每次递归时,在 path 中添加一个新的数字&…

回溯经典例题。

题目

通过回溯生成所有可能的排列。每次递归时,选择一个数字,直到选满所有数字,然后记录当前排列,回到上层时移除最后选的数字并继续选择其他未选的数字。每次递归时,在 path 中添加一个新的数字,直到 path 的长度等于数组 nums 的长度,此时可以将 path 添加到结果集中。当递归深入到某一层时,我们在返回上层前移除 path 中最后添加的数字,恢复现场,尝试其他未选的数字。用循环遍历,然后每次把已加过的数做剔除去选。

记住,dfs递归时会逐层进入,即进入后遇到dfs便会进入下一个dfs,逐渐挖到最深层,然后在出口处加入结果集。接着进行回溯,回溯到上一步的dfs后接着执行当前方法的下面的语句,直到当前方法执行完后再次进行回溯,因此回溯的过程中实际上也是进入循环了,这样也便于选目标元素了。然后递归一定要记得加入的是path副本,回溯时要做好恢复。

class Solution {public List<List<Integer>> permute(int[] nums) {LinkedList<List<Integer>> res = new LinkedList<>();            //排列组合结果LinkedList<Integer> path = new LinkedList<>();                     //单个排列dfs(res,nums,path);return res;}public void dfs(List<List<Integer>> res, int[] nums, LinkedList<Integer> path){if(path.size() == nums.length){res.add( new ArrayList<Integer>(path) );     //对于每次添加的单个排列,应该都是不同的引用对象}for(int i=0; i<nums.length; i++){if(path.contains(nums[i]))  {continue;}              //当前层中,已添加的数不再考虑  path.add(nums[i]);                                   //未添加的数则存放dfs(res, nums, path);               //进入下一层(递归)path.removeLast();                                  //从深层节点向浅层节点回溯}}
}

http://www.hrbkazy.com/news/19531.html

相关文章:

  • 天津网站建设icp备知名的网络推广
  • 代理网站哪个好刚刚传来最新消息
  • 公司网站设计需要什么今日国内新闻头条
  • 做网站公司 衡阳公司友妙招链接
  • 做苗木的哪个网站效果好搜索引擎有哪些平台
  • 个人网站可以做淘宝推广百度爱采购优化
  • 奥派网站建设谷歌广告推广怎么做
  • 网站js修改头像代码国内最近的新闻大事
  • 河口区建设工程招标网站数据分析方法
  • 个体工商户能够做经营性网站吗搜索引擎优化人员优化
  • 网站可以放多少视频百度百科词条
  • 蓝色系 网站不收费的小说网站排名
  • 做外贸如何分析客户网站指数是指什么
  • 巩义旅游网站建设公司搜索引擎外部链接优化
  • 做一个京东网站怎么做志鸿优化网
  • 如何自己做网站优化网域名解析ip查询
  • 杭州网站建设推荐互联网营销师证书怎么考
  • 分类目录网站平台网址搜索引擎
  • 网站建设服务项目2021全国大学生营销大赛
  • dhl网站做形式发票优化网站最好的刷排名软件
  • 网站开发 实战百度应用商店官网
  • 龙岩网站制作公司seo搜索优化费用
  • 关于网站建设live2500百度不让访问危险网站怎么办
  • 如何用macbook做网站如何注册百度账号
  • asp 网站管理系统培训心得体会100字
  • 免费域名申请哪个网站好网站快速收录入口
  • 装个宽带多少钱宁波受欢迎全网seo优化
  • 安徽服饰网站建设百度登录
  • 网站建设中倒计时模板辅导班培训机构
  • 济南建立网站下载百度2023最新版