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

哈尔滨建设网站成本seo服务优化

哈尔滨建设网站成本,seo服务优化,网站管理设置,湖北今日新闻最新消息题意理解: 每个数字在每个组合中只能使用 一次 数字可以重复——>难点(如何去重) 每个组合和target 求组合,对合限制,考虑回溯的方法。——将其抽象为树结构。 树的宽度——分支大小 树的深度——最…

题意理解:

  1.         每个数字在每个组合中只能使用 一次 
  2.         数字可以重复——>难点(如何去重)
  3.         每个组合和=target

        求组合,对合限制,考虑回溯的方法。——将其抽象为树结构。

        树的宽度——分支大小

        树的深度——最长的组合(和=target)

  去重难点:

        根据《代码随想录》关于树层去重的引入:

        第一个位置选2,再次选2的话,下面的分支回出现重复的[2,3]组合。

        实际上保留第一个分支,之后同一位置相同的数值选项可以剪除。

        用used[]数组来维护是否被访问的状态。

        

回溯的方法:

        1.确定返回值+参数列表

        2.确定终止条件|剪枝条件

        3.单层逻辑|回溯操作

1.暴力回溯+剪枝优化

考虑返回值一般为void, 参数包含数组,和目标值,当前数值指示下标

终止条件: sum>=4,特别的sum==4时收集结果。

单层递归逻辑:一定要对sum和path、used数组做好回溯操作。

数层剪枝:candidates[i-1]==candidates[i]遇到重复值

        used[i-1]=true:表示上一个重复的值,在该组合内被用到。

        used[i - 1] == false:表示上一个重复值在该组合内没有用到,应该是同一树层用到——即数层重复,剪枝。

List<List<Integer>> result=new ArrayList<>();LinkedList<Integer> path=new LinkedList<>();int sum=0;public List<List<Integer>> combinationSum2(int[] candidates, int target) {boolean[] used=new boolean[candidates.length];Arrays.sort(candidates);Arrays.fill(used, false);backtrackig(candidates,target,0,used);return result;}public void backtrackig(int[] candidates, int target,int startIndex,boolean[] used){//终止|剪枝if(sum>target) return;else if (sum==target) {result.add(new ArrayList<>(path));return;}//单层递归逻辑for(int i=startIndex;i<candidates.length;i++){//数层剪枝if(i!=0&&candidates[i-1]==candidates[i]&&used[i-1]==false) continue;path.add(candidates[i]);sum+=candidates[i];used[i]=true;backtrackig(candidates,target,i+1,used);path.removeLast();sum-=candidates[i];used[i]=false;}}

注意两个特殊的地方:

Arrays.sort(candidates);//数组排序

Arrays.fill(used, false);//数组填充,实际上该数组默认也是false.

2.分析

时间复杂度:O(2^{n} \times n)

空间复杂度:O(n)

http://www.mmbaike.com/news/95352.html

相关文章:

  • 四川宜宾市网站建设公司网络营销官网
  • 中文企业网站html模板宁波seo公司排名
  • 可以先做网站后备案吗专业网站推广软件
  • 房地产网站开发seo网站排名优化服务
  • wordpress截取字符串seo推广优化工具
  • 学做网站需要学哪些软件关于华大18年专注seo服务网站制作应用开发
  • 网站建设综合技术百度产品有哪些
  • 网站销售需要注册公司吗查域名
  • html 网站新功能介绍竞价推广怎么样
  • 好买卖做网站河南网站seo费用
  • linux wordpress 升级优化排名推广技术网站
  • 水果网站建设规划书最新病毒感染什么症状
  • 广东外贸型网站建设站长之家域名
  • wordpress主题module破解版广东seo推广方案
  • 景区网站建设的好处网站快速收录软件
  • 桂林论坛爆料seo外包方法
  • wordpress 中文seo插件seo外链
  • 网站权重排行榜最新热点新闻事件
  • 长沙网站备案拍照点百度关键词搜索引擎
  • 贵州软件开发 网站开发郑州网站建设推广优化
  • 做网站要学习什么seo关键词优化报价
  • 我想自己在网站上发文章 怎样做宁波seo网络推广产品服务
  • 专业外贸网站制作价格如何做营销策划方案
  • 查网站空间商网站制作平台
  • 网站解析错误郑州网站技术顾问
  • 网站底部给网站地图做链接百度咨询电话 人工客服
  • 沈阳做网站优化的公司哪家好百度网游排行榜
  • 宣传网站怎么做西安seo学院
  • 新手学做网站 视频百度网盘sem优化师
  • 网站开发人才需求怎样优化网站排名靠前