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

晋中公司做网站亚马逊查关键词排名工具

晋中公司做网站,亚马逊查关键词排名工具,wordpress站点版权设置,天津网站建设推广服务算法笔记|Day20回溯算法II ☆☆☆☆☆leetcode 39. 组合总和题目分析代码 ☆☆☆☆☆leetcode 40.组合总和II题目分析代码 ☆☆☆☆☆leetcode 131.分割回文串题目分析代码 ☆☆☆☆☆leetcode 39. 组合总和 题目链接:leetcode 39. 组合总和 题目分析 本题采用回…

算法笔记|Day20回溯算法II

  • ☆☆☆☆☆leetcode 39. 组合总和
    • 题目分析
    • 代码
  • ☆☆☆☆☆leetcode 40.组合总和II
    • 题目分析
    • 代码
  • ☆☆☆☆☆leetcode 131.分割回文串
    • 题目分析
    • 代码

☆☆☆☆☆leetcode 39. 组合总和

题目链接:leetcode 39. 组合总和

题目分析

本题采用回溯算法,组合没有数量要求,且元素可无限重复选取,故每次遍历都可以从第一个元素开始。

代码

class Solution {List<List<Integer>> res=new ArrayList<>();List<Integer> path=new LinkedList<>();public List<List<Integer>> combinationSum(int[] candidates, int target) {backtrcking(candidates,target,0,0);return res;}public void backtrcking(int candidates[],int target,int sum,int start){if(sum>target)return;if(sum==target){res.add(new ArrayList(path));return;}for(int i=start;i<candidates.length;i++){sum+=candidates[i];path.add(candidates[i]);backtrcking(candidates,target,sum,i);sum-=candidates[i];path.removeLast();}}
}

☆☆☆☆☆leetcode 40.组合总和II

题目链接:leetcode 40.组合总和II

题目分析

本题集合(数组candidates)有重复元素,但不能有重复的组合,涉及到去重的逻辑,采用了used数组,若该元素在本轮回溯遍历(树层)中用到过赋值为1,后续不再使用,回溯时恢复为0;但在递归遍历(树枝)中用到过,还可以继续使用。

代码

class Solution {List<List<Integer>> res=new ArrayList<>();List<Integer> path=new LinkedList<>();public List<List<Integer>> combinationSum2(int[] candidates, int target) {Arrays.sort(candidates);int used[]=new int[candidates.length];backtracking(candidates,target,0,0,used);return res;}public void backtracking(int candidates[],int target,int sum,int start,int used[]){if(sum>target)return;if(sum==target){res.add(new ArrayList(path));return;}for(int i=start;i<candidates.length;i++){if(i>0&&candidates[i]==candidates[i-1]&&used[i-1]==0)continue;sum+=candidates[i];path.add(candidates[i]);used[i]=1;backtracking(candidates,target,sum,i+1,used);sum-=candidates[i];path.removeLast();used[i]=0;}}
}

☆☆☆☆☆leetcode 131.分割回文串

题目链接:leetcode 131.分割回文串

题目分析

切割问题可以仿照组合问题利用回溯,从前往后搜索,如果发现回文,进入backtracking,起始位置后移一位,循环结束照例移除str的末位。

代码

class Solution {List<List<String>> res=new ArrayList<>();List<String> str=new ArrayList<>();public List<List<String>> partition(String s) {backtracking(s,0,new StringBuilder());return res;}public void backtracking(String s,int start,StringBuilder sb){if(start==s.length()){res.add(new ArrayList(str));return;}for(int i=start;i<s.length();i++){sb.append(s.charAt(i));if(check(sb)){str.add(sb.toString());backtracking(s,i+1,new StringBuilder());str.removeLast();}}}public boolean check(StringBuilder sb){for(int i=0;i<sb.length()/2;i++){if(sb.charAt(i)!=sb.charAt(sb.length()-1-i))return false;}return true;}
}

提示:回文串是向前和向后读都相同的字符串,可以考虑使用双指针法,一个指针从前向后,一个指针从后向前,如果前后指针所指向的元素是相等的,就是回文字符串了;也可以直接判断前一半元素和对称位置的元素是否相等。

http://www.ds6.com.cn/news/17963.html

相关文章:

  • 怎么制作视频教程关键词整站优化公司
  • 南阳做网站公司哪家好网站推广优化价格
  • 上海app制作公司百度优化公司
  • 做视频网站教程百度客服电话是多少
  • 汽车网站建设公司哪家好百度seo查询
  • 哪些网站做的美seo助手
  • 做seo网站标题重要吗视频号直播推广二维码
  • 怎么查询网站所有关键词百度问答一天能赚100块吗
  • 网站模板 黑白制作一个网页的步骤
  • dreamwearver怎么做静态网站google推广平台怎么做
  • 2021年中央农村工作会议seo招聘
  • 礼品网站商城怎么做搜索引擎大全排行
  • 网站开发流程到上线百度软件商店
  • 厦门网站开发公司吉林网站seo
  • b站有没有推广2020最近的新闻大事10条
  • 网站首页的图标是怎么做的关键词优化的策略有哪些
  • 网站上做的图片不清晰是怎么回事品牌如何做推广
  • wow电影在线观看网站标题算关键词优化吗
  • 怎么样增加网站权重网络营销方案设计
  • dw里面怎么做网站轮播图中国互联网公司排名
  • 武汉手机网站设计如何外贸建站教程
  • 推荐网站建设品牌长沙网络公司最新消息
  • 建设网站最简单的软件是自己制作一个网页
  • 网站规划与设计论文宜昌网站seo收费
  • Wordpress 精确时间分钟青岛百度推广优化
  • 网站建设 中企动力鄂ICP备大数据统计网站
  • 移动端网站开发标题设置域名权重查询工具
  • 用node做的网站网站优化关键词排名公司
  • 给装修公司做推广的网站合肥搜索引擎推广
  • 广东融都建设有限公司 公司网站5118站长工具箱