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

密云区建设委员会官方网站色盲和色弱的区别

密云区建设委员会官方网站,色盲和色弱的区别,保山网站开发,wordpress关闭导航回溯法又叫回溯搜索法,是搜索的一种方式。回溯法本质是穷举所有可能。如果想让回溯法高效一些,可以加一些剪枝操作。回溯算法解决的经典问题:组合问题切割问题子集问题排列问题棋盘问题如何去理解回溯法?回溯法解决的问题都可以抽…

回溯法又叫回溯搜索法,是搜索的一种方式。

回溯法本质是穷举所有可能。如果想让回溯法高效一些,可以加一些剪枝操作。

回溯算法解决的经典问题:

  • 组合问题

  • 切割问题

  • 子集问题

  • 排列问题

  • 棋盘问题

如何去理解回溯法?

回溯法解决的问题都可以抽象为树形结构,回溯法解决的是在集合中递归查找子集,集合的大小构成树的宽度,递归的深度构成树的深度。

递归就要有终止条件,所以必然是一颗高度有限的树(N叉树)

回溯法模板

回溯三部曲

  • 回溯函数模板返回值以及参数(一般返回值都为void)

  • 回溯函数终止条件

if(终止条件){存放结果;return;
}
  • 回溯搜索的遍历过程

for(选择:本层集合中的元素(树中节点孩子的数量就是集合的大小)){处理节点;backtracking(路径,选择列表);//递归回溯,撤销处理结果
}

组合问题

组合

在for循环中,i的结束条件可以优化,即:

列表剩余元素个数n-i+1>=所需元素个数k-path.size(),i<=n-k+path.size()+1。

组合总和

无重复数

可重复取

组合总和II

有重复数

不可重复取

组合总和III

无重复数

不可重复取

组合总和IV

无重复数

可重复取,且有排列(动规问题)

组合总和III

电话号码的字组合

数字与字母的映射问题可以用map,也可以用一个二维数组;

将char型转为int型,用char-‘0’的方式。

组合总和

可以重复使用元素,所以startIndex直接等于i就行了,不能直接每次都从0开始(这是排列的情况,会有重复出现);

组合总和II

集合中出现了重复元素,如果用之前的常规做法,会出现下面重复的情况,因此需要去重工作。

组合总和IV

用回溯超时了,是动态规划问题。


切割问题

分割回文串

  1. 如何切割的问题--确定分割点,例如abcdef,切割一个a后,在bvdef中再去切割第二段

  1. 如何判断为回文串--写一个bool型函数,专门用来判断

注意:截取子字符串substr(n,m)表示从下标n开始取m个元素

复原IP地址

  1. 如何切割的问题,确定切割点,插入.号,用已经插入.号的数量来判断是否结束

  1. 如何判断是否为有效IP地址

注意一些细节问题:

string中插入 insert 擦除erase,因为已经插入.号,因此下一层递归开始应该在i+2处

除了只有一个0以外,以0开头的数字不合法;大于255不合法;

    bool isValid(string& s,int left,int right){if(left>right)  return false;if(s[left]=='0'&&left!=right) return false;int x=stoi(s.substr(left,right-left+1));if(x<=255)  return true;else return false;}

子集问题

子集 (不含重复元素)

子集问题是找树的所有节点,而组合和分割问题都是收集树的叶子节点。

每个节点都需要保存,所以先存,再判断终止条件。

子集II (含有重复元素)

在同一层中不可选取相同元素,属于树层去重。

其实树层去重可以不用used数组,直接排序后判断相邻的数是否相同就可以完成树层去重。

注意:去重都需要排序!!!

递增子序列

需要解决的问题:

  1. 去重问题,仍然是树层的去重,但是不能对数组进行排序了,于是用哈希表进行去重;

  1. 选取的是符合条件的每个节点,其实可以与之前的联系起来,相当于可以不用写终止条件;


排列问题

全排列(没有重复元素)

排列问题就不需要startIndex了,需要使用used数组,来确定该数字在path中已经被取过了。

全排列II(有重复元素)

使用used数组+哈希表进行树枝去重和数层去重。


棋盘问题

重新安排行程

一个起飞机场对应多个降落机场、并且降落机场是有序的。所以映射后的降落机场用map去存。

map中所有元素都是pair,pair中第一个元素为key值(键值),第二个元素为value(实值)。

所有元素都会根据元素的键值自动排序。

unordered_map<string,map<string,int>> targets

http://www.dt0577.cn/news/51594.html

相关文章:

  • 阿里云 温馨提示 该网站暂时无法进行访问个人博客网页设计html
  • 公司做网站需要网站维护人员吗百度高级搜索指令
  • 做招聘网站网络营销成功的案例及其原因
  • 做网站怎么找客户文章推广平台
  • 买一个网站需要多少钱网站seo优化方案
  • 东南亚购物网站排名网奇seo赚钱培训
  • 做exo小说的网站如何自己创建一个网站
  • 嘉兴网站制作星讯网络科技seo优化报价公司
  • 网站设计怎么做小吃培训
  • 上海做网站公司哪家好阿里巴巴友情链接怎么设置
  • 合肥做微网站建设爱站seo工具
  • wordpress颜色代码爱站seo
  • 做网站和程序员哪个好点武汉seo认可搜点网络
  • 黄山找人做网站下载百度到桌面上
  • 深圳特区专业网站建设公司磁力搜索神器
  • 上传产品网站怎么做要看网的域名是多少
  • 电商网站有哪些官网网站长尾关键词排名软件
  • 图片瀑布流网站专业做app软件开发公司
  • 优化网站具体如何做网络事件营销案例
  • 自己做的网页怎么上传网站吗自建网站平台
  • 深圳 微网站建设ydgcm全网推广公司
  • 自己建网站怎么做seo免费推广的方式有哪些
  • 网站建设太原外链群发软件
  • 推广网站的方法有搜索引擎营销中国网新山东
  • 成都网站建设公司排行百度关键词排名查询接口
  • 扬州北京网站建设sem管理工具
  • 店面门头设计网站免费个人主页网站
  • 那里有帮做网站的手机营销推广方案
  • 免费杂志模板教程seo推广排名网站
  • 重庆网站空间主机评价迅雷bt磁力链 最好用的搜索引擎