
7.回溯
文章平均质量分 68
Leetcode回溯算法
pig不会cv
这个作者很懒,什么都没留下…
展开
-
7.14解数独(LC37-H)
二维递归(递归时需要两层for循环)一个for循环放行另一个for循环放列。原创 2024-01-04 19:20:27 · 516 阅读 · 0 评论 -
7.13N皇后(LC51-H)
N皇后是回溯的经典题。原创 2024-01-02 12:07:44 · 382 阅读 · 0 评论 -
7.12全排列②(LC47-M)
这道题目和的区别在与,要返回。所以就是多了个去重操作。原创 2024-01-01 15:29:09 · 521 阅读 · 0 评论 -
7.11全排列(LC46-M)
排列和组合很像,但是有顺序。还是用回溯算法。原创 2024-01-01 14:59:48 · 381 阅读 · 0 评论 -
7.10非递减子序列(LC491-M)
在中我们是通过排序,再去重来达到去重的目的。而本题求自增子序列,肯定还是回溯算法。原创 2023-12-31 14:18:02 · 980 阅读 · 0 评论 -
7.9子集②(LC90-M)
这道题目和区别就是集合里有重复元素了78题中的提示明确说明了“nums中的所有元素而90题中的元素可能重复去重的关键就是先排序,让重复的元素都在一起去重就是在78题代码的基础上加了个排序、去重。原创 2023-12-30 10:23:55 · 333 阅读 · 0 评论 -
7.8子集(LC78-M)
其实也是组合问题,还是用回溯。与以前不同的是,如果把 子集问题、组合问题、分割问题都抽象为一棵树的话,其实子集也是一种组合问题,因为它的集合是无序的,子集{1,2} 和 子集{2,1}是一样的。for就要从startIndex开始,什么时候for可以从0开始呢?,因为集合是有序的,{1, 2} 和{2, 1}是两个集合。原创 2023-12-30 09:57:39 · 446 阅读 · 0 评论 -
7.7复原IP地址(LC93-M)
根据题意有效的 IP 地址 :(1)由四个整数构成(2)每个整数位于 0 到 255 之间(3)每个整数不能含有前导 0,如011、021等,但是可以有单独的一个“0”(4)整数之间用 '.' 分隔。其实本质上就是分割问题,把一串数字分成四部分,每部分要满足条件(2)和(3),这四个部分用字符'.'串起来,所以还是用回溯。原创 2023-12-29 15:56:25 · 378 阅读 · 0 评论 -
7.6分割回文串(LC131-M)
有很多分割结果,按照for循环去做肯定做不来这个时候就要想到回溯!那就要画树!原创 2023-12-29 12:07:46 · 1416 阅读 · 0 评论 -
7.5组合总和②(LC40-M)
相比于上一题,数组candidates有重复元素,而要求不能有重复的组合,所以相对于难度提升了不少。原创 2023-12-23 16:41:28 · 399 阅读 · 0 评论 -
7.4组合总和(LC39-M)
组合问题,用回溯。原创 2023-12-23 16:12:25 · 423 阅读 · 0 评论 -
7.3电话号码的字母组合(LC17-M)
数字到字母要映射,可以用map,也可以用二维数组,或者直接用一个字符串这里用字符串,键入的数字对应字符串的索引。原创 2023-12-22 17:56:41 · 1298 阅读 · 0 评论 -
7.2组合总和(LC216-M)
以k=2,n=4为例,画树形结构:k控制着树的深度宽度由1-9控制。原创 2023-12-20 11:24:06 · 374 阅读 · 0 评论 -
7.1组合及其优化(LC77-M)
第一次取1 2 3 4取1时,留下234取2时,留下34取3时,留下4取4时,留下null接着继续取234中的2,与1组合,得到12取234中的3,与1组合,得到13取234中的4,与1组合,得到14接着继续取34中的3,与2组合,得到23取34中的4,与2组合,得到24接着继续取4,与3组合,得到341.确定函数返回值和参数:返回值是void;参数:n、k(题目中都给出了),还要一个startindex,因为每次递归的时候,怎么知道从哪里开始取呢?这时候就需要一个index指引一下。2.确定终止条件:当原创 2023-12-19 11:46:42 · 875 阅读 · 0 评论 -
回溯算法概论
有递归就会有回溯,递归和回溯相辅相成,回溯通常藏在递归函数的下面。回溯函数其实就是递归函数,没有单独的回溯函数。原创 2023-12-19 09:30:10 · 388 阅读 · 0 评论