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

网站开发摊销年限区块链开发违法吗

网站开发摊销年限,区块链开发违法吗,计算机学习网站,玉溪的网站建设公司组合问题的特点 #xff08;1#xff09;abba 选中a之后#xff0c;就不再选了 #xff08;2#xff09;找出所有的组合 #xff08;长度可以不相等#xff09; 组合问题模板 做回溯题步骤 #xff08;0#xff09;判断问题类型 #xff08;1#xff09;树状图 … 组合问题的特点 1abba 选中a之后就不再选了 2找出所有的组合 长度可以不相等 组合问题模板 做回溯题步骤 0判断问题类型 1树状图 2递归三部曲 3剪枝条件 组合问题中的纵横剪枝 ---- 216.组合总和III 去重 1横向去重 2set横向去重 代码 public void findSubsequencesBT(int[] nums,int startIndex) {HashSetInteger set new HashSet();for (int i startIndex; i nums.length; i) {// 剪枝if (findSubsequencesPath.size()0findSubsequencesPath.get(findSubsequencesPath.size()-1)[0]nums[i]){continue;}// 此处不能是只能是 为空时也要判断去重if ((findSubsequencesPath.size()0||findSubsequencesPath.size()0findSubsequencesPath.get(findSubsequencesPath.size()-1)[0]nums[i])set.contains(nums[i])){continue;}//三件套//using[i]true;findSubsequencesPath.add(new int[]{nums[i],i});set.add(nums[i]);if (findSubsequencesPath.size()2){ArrayListInteger temp new ArrayList();for (int j 0; j findSubsequencesPath.size() ; j) {temp.add(findSubsequencesPath.get(j)[0]);}ires.add(temp);}findSubsequencesBT(nums,i1);findSubsequencesPath.remove(findSubsequencesPath.size()-1);// set 不用回溯,每层一个// using[i]false;}}关键 分割递归终止条件 分割常用的递归出口 1startIndex数组长度 缺点 如果是分割有段数要求例如ip可能分割很多段后才到递归出口1.1.1.1.1.1.1 再判断白白浪费性能。 改进当已经分割三段时第四段直接判断这样可以剪掉部分但是最后还是会一个一个试 public void restoreIpAddressesBT(String s,int startIndex) {if (startIndexs.length()){if (restoreIpAddressesPath.size()4){StringBuilder sb new StringBuilder();for (String s1 : restoreIpAddressesPath) {sb.append(s1.);}sb.delete(sb.length()-1,sb.length());slist.add(sb.toString());}return;}for (int i startIndex; i s.length() ; i) {String substring s.substring(startIndex, i 1);// 剪枝// 如果已经有3个了直接看剩下的能不能凑成第四个就行if (restoreIpAddressesPath.size()3valIsValid(s.substring(startIndex))-1){return; // 本层全不能用}if (valIsValid(substring)-1){continue;}restoreIpAddressesPath.add(substring);restoreIpAddressesBT(s,i1);restoreIpAddressesPath.remove(restoreIpAddressesPath.size()-1);}}2如果有段数要求直接用段数作为剪枝条件 if (restoreIpAddressesPath.size()4){if (startIndexs.length()){StringBuilder sb new StringBuilder();for (String s1 : restoreIpAddressesPath) {sb.append(s1.);}sb.delete(sb.length()-1,sb.length());slist.add(sb.toString());}return;}这样只要到段数就会判断不会再 1.1.1.1.1.1.1这样分 题型 组合问题 每条从根出发的子路径是一个结果 传统组合问题 每一条子路径都是一种组合 —● 77. 组合● 216.组合总和III从筐中取球类型–● 17.电话号码的字母组合组合元素不重元素可重复取 39. 组合总和组合元素重复结果不重横向去重– 40.组合总和II 子集问题 组合问题之子集问题找到所有从根节点出发的子路径包含【】 ----78.子集组合问题之递增序列本质是子集问题使用set去重注意第一层时path可能为空 491.递增子序列 分割 每条路径是一个结果 5. 标准分割 -- 131.分割回文串 ● 93.复原IP地址 排列 排列借助used数组 46.全排列 47.全排列 II 递归树 传统组合 筐中取球 组合每个元素可重复 组合元素重复结果不重横向去重 标准分割 2分割模板 // 131.分割回文串 public void partitionBT(String s,int startIndex) {if (startIndexs.length()){sres.add(new ArrayList(spath));return;}// 引擎for (int i startIndex; i s.length() ; i) {// 剪枝if (!isPalindrome(s,i,startIndex)){return;}spath.add(s.substring(i, startIndex 1));partitionBT(s,i1);spath.remove(spath.size()-1);// 本层下一个}}3不同之处 6. 子集问题 2子集问题模板 // 78. 子集public void subsetsBT(int[] nums,int startIndex) {// 找所有从根节点的子路径为处理空置先加入ires.add(new ArrayList(ipath));// 递归终止条件 直接使用循环终止// 循环引擎for (; startIndex nums.length ; startIndex) {// 剪枝 无//三件套ipath.add(nums[startIndex]);subsetsBT(nums,startIndex1);ipath.remove(ipath.size()-1); // 删除的是startIndex}}(3)不同之处 7. 递增序列问题 代码 public void findSubsequencesBT(int[] nums,int startIndex) {HashSetInteger set new HashSet();for (int i startIndex; i nums.length; i) {// 剪枝if (findSubsequencesPath.size()0findSubsequencesPath.get(findSubsequencesPath.size()-1)[0]nums[i]){continue;}// 此处不能是只能是 为空时也要判断去重if ((findSubsequencesPath.size()0||findSubsequencesPath.size()0findSubsequencesPath.get(findSubsequencesPath.size()-1)[0]nums[i])set.contains(nums[i])){continue;}//三件套//using[i]true;findSubsequencesPath.add(new int[]{nums[i],i});set.add(nums[i]);if (findSubsequencesPath.size()2){ArrayListInteger temp new ArrayList();for (int j 0; j findSubsequencesPath.size() ; j) {temp.add(findSubsequencesPath.get(j)[0]);}ires.add(temp);}findSubsequencesBT(nums,i1);findSubsequencesPath.remove(findSubsequencesPath.size()-1);// set 不用回溯,每层一个// using[i]false;}}关键 8. 排列 public void permuteBT(int[] nums,boolean[] used) {if (ipath.size()nums.length){ires.add(new ArrayList(ipath));return;}for (int i 0; i nums.length ; i) {if (used[i]true){continue;}// 剪枝// 三件套used[i]true;ipath.add(nums[i]);permuteBT(nums,used);ipath.remove(ipath.size()-1);used[i]false;}}
http://www.w-s-a.com/news/773228/

相关文章:

  • 河南国基建设集团--官方网站wordpress qode
  • 做农村电子商务的网站有哪些内容静态网站模板古典
  • 导航网站设计方案个人网站推广方法
  • 网站排名易下拉教程防wordpress花园
  • 计算机网站建设 是什么意思现在网站建站的主流语言是什么
  • php网站跟随导航西安百姓网免费发布信息网
  • 濮阳做公司网站html5 特效网站
  • ppt设计器怎么打开深圳seo网络推广营销
  • 建设银行网站用360浏览器建设信用卡中心网站
  • 创建公司网站 教程广州建设局
  • 详述网站建设的过程简答题ui培训设计怎么样
  • 动易网站官网ppt主题大全素材
  • 怎样用eclipse做网站可以做宣传图的网站
  • 哪里可以做游戏视频网站做网站平台应该注意哪些
  • 网站后期推广是谁来做网页制作步骤作答题
  • 全屋装修设计定制整装成都网站优化多少钱
  • html5购物网站模板一个网站两个数据库
  • 个人网站怎么做微信支付网站建设项目介绍
  • 建网站合同网站适配移动端和PC端
  • 网站建设培训机构哪里好html5开发wap网站
  • 免费自助建站源码学而思网校官网
  • 中国最大的网站制作公司青海省高等级公路建设管局网站
  • 建设网站对服务器有什么要求吗wordpress去除更新提示
  • 找个为公司做网站的手机端原神
  • 邯郸手机建站价格公众号开发者权限哪里添加
  • wordpress模板电子书下载站微信app官方免费下载
  • 从哪些方面进行网站建设如何做网站的实时画面
  • 设计网站公司收费西安小程序开发公司有哪些
  • 如何建网站赚取佣金哪个网站可以做免费宣传
  • 万网手机网站seo方法