自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 代码随想录刷题打卡day43

2.组合个数的问题递推公式dp[j] = dp[j-nums[i]],dp[j]表示装满j的背包有dp[j]种方法(没理解,但是记下来)1.完全背包的遍历顺序:先背包后物品是排列数,先物品后背包是组合数。3.因为可以重复选择,所以从小到大遍历物品。

2023-11-30 12:01:08 407

原创 代码随想录刷题打卡day32

这道题思路很巧妙,是通过看每一个格子能覆盖的最大值,因为结果只需要返回true和false,而不用返回路径,所以问题简化很多。

2023-11-30 11:59:35 384

原创 代码随想录刷题打卡day53

且顺序不可调换,和上一题一模一样。学到了抽象提取问题的方法。这道题用贪心算法写过,回顾的时候也很清晰。

2023-11-14 10:53:34 83

原创 代码随想录刷题打卡day40

(i-j)*j,相当于把i拆成i-j和j两个数字,而dp[i-j]*j是把i拆成大于两个数字,因为dp[i]表示i被拆之后得到的最大积。代码不难,思路比较重要。

2023-11-01 11:25:34 99

原创 代码随想录刷题打卡day35

这道题和打气球类似,一开始没写出来,写了一遍打气球后就写出了,棒哦。不敢相信这道题我也写了,我好棒。

2023-10-31 11:23:45 80

原创 代码随想录刷题打卡day36

【代码】代码随想录刷题打卡day36。

2023-10-31 11:16:36 77

原创 代码随想录刷题打卡day38

【代码】代码随想录刷题打卡day38。

2023-10-31 11:12:17 91

原创 代码随想录刷题打卡day39

【代码】代码随想录刷题打卡day39。

2023-10-31 11:00:46 33

原创 代码随想录刷题打卡day28

举个栗子,当我们第一次从[0 1 2]中选了1,此时used[0 1 0],在进入backtracking后(树枝)nums[i]重新开始从nums[0-2]遍历,那么nums[0]的used[0]=false表示没用,加入到path,而nums[1]的uesd[1]=true,表示path中已经有1了。是一样的,唯一的不同在于,全排列的for循环是从0开始,(那么下一层也会遍历到自身)因此要多一层判断,判断当前的数字是否被用过 if(used[i]==false),没有的话才进行下面的操作。

2023-10-20 11:33:16 51 1

原创 代码随想录刷题打卡day26

这道题和之前的题不一样的地方在于,他的数组是有重复数字的,而且要求一组结果中可以有这些重复数字(树枝),但是层之间不能有重复(树层)第一题依旧是回溯算法的问题,越来越顺畅了,今天思路和老师的思路一模一样,代码也是自己写的,但一些小细节还是要多加注意。

2023-10-19 11:20:57 80 1

原创 代码随想录刷题打卡day27

这道题就是搜集所有节点,包括了空节点,思路很简单,但是要注意在回溯时要先收集结果,以防漏掉自身,代码中这点也标注了。for循是遍历层,而baktracking遍历树枝。本题数组有重复,但要求结果不重复,和之前做的。

2023-10-19 11:18:17 106 1

原创 代码随想录刷题打卡day25

思路和之前的组合问题一样,如果输入两个数字,那么树的深度就是2,当index遍历到2时就可以收割答案了。和昨天的组合体很像,自己也能写出来,但是单层回溯这块第一次没完整写出来,看了解析就顺畅了。

2023-10-17 10:47:30 31 1

原创 代码随想录刷题打卡day24

今天开始回溯算法,回溯算法用于组合,分割,子集,排列,棋盘问题等。所有回溯法的问题都可以抽象为树形结构。回溯三部曲为:1.确定返回值 2.确定终止条件 3.确定单层逻辑。

2023-10-16 10:25:02 40 1

原创 代码随想录刷题打卡day22

有点没搞懂递归的返回值。

2023-10-15 09:52:11 41 1

原创 代码随想录刷题打卡day21

搜索到的第一个位于p,q之间的数字即我们要找的结点。前两天参加姐姐的婚礼,拉了两天,会慢慢补起来的。这个只要遍历到空结点就新添加一个结点就行。

2023-10-13 22:32:31 51

原创 代码随想录刷题打卡day17

看了视频明白的,代码自己就能写出来,引用传递的回溯方法懂了,但是精简代码中如何用值传递回溯还没看懂。后序遍历递归法实现,第一次写的时候没有想到在每一个结点处都要判断返回一次,导致写错。

2023-10-09 15:37:17 41 1

原创 代码随想录刷题打卡day15

思想和上一题差不多,但是有一个坑要注意,深度是根节点到叶子的距离,因此如果存在莫个结点的左树或者右树为空的情况,不能只加到为空的位置,而是:若左树为空就1+右树最小深度,右树同理,最后再取二者最小值加1。通过后序遍历,用递归法求得每个节点左树右树的深度。为什么采用后序遍历,因为最后访问根节点会将迭代的值返回给根节点。最后取左右最大的深度+1(加根节点本身)即可。这道题我选择了和第一题一样的后序遍历法,自己写出来的棒呆!

2023-10-09 10:18:22 108 1

原创 代码随想录刷题打卡day14

模板,记下来,也理解了。

2023-10-08 22:32:53 89 1

原创 代码随想录刷题打卡day13

2.学习了下迭代法前中后遍历二叉树,中序遍历看的有点迷糊,但还是看明白了,希望二刷可以自己写出来。递归法遍历二叉树的前中后顺序指的是中间节点的遍历顺序,写了前序遍历,后两种方法类似。今天开始二叉树的刷题。

2023-10-08 20:32:17 39 1

原创 代码随想录刷题打卡day12

栈的应用,在写时要考虑三种情况:1.左括号冗余 ,判断条件为最后栈不为空;2.右括号冗余,判断条件为循环未结束而栈已空;3.括号匹配错位,判断条件为栈顶元素与当前右括号不一致;学数据结构的时候就会这个算法了。

2023-10-06 16:41:51 34 1

原创 代码随想录刷题打卡day11

国庆10.2号的任务,10.5号才补,不能再拖了。,和算法无关,是实现队列。

2023-10-05 23:30:51 62

原创 代码随想录打卡day8

这道题属实有难度,之前做过类似的但是想起来都很困难。但是看了老师的讲解视频后懂了,也能自己敲了。需要好好斟酌思考这道题,值得回味!这个用自己写的反转代码好理解一些,但直接调用c++库我也看懂了,无所谓。但是在写反转的开始结束下标时,最好画个图,以防出错。

2023-09-27 23:05:36 96 1

原创 代码随想录刷题打卡day7

和昨天的“有效的字母异位词”思路一模一样,但是多了些细节和判断条件。看了视频懂了,代码不难。下次遇到这种题就会了。这道题的去重操作属实没看懂,再接再厉。

2023-09-26 22:58:47 55 1

原创 代码随想录刷题打卡day6

做完这道题感觉自己需要补一下vector,和STL库的东西,最近马上国庆,我会抽时间补起来的。绿子当时说“你不一定会写这道题”,现在发现他说的对,确实是我今天最费劲的一道题,主要是第一次用到unordred_map,思路清楚了也没能自己写的出来。了解哈希表的知识和用法后,明白这道题的思路还是很好写出代码的。这道题用数组做哈希表,是因为26个字母,该表长度是给定的。因为需要一直循环,求和每一位的数字和,但是如果出现重复的数字就会陷入死循坏。这个题给我,我是不会立马想到哈希表的算法的,他的方法精髓就在“

2023-09-25 15:15:48 82 1

原创 代码随想录刷题打卡day4

这是找到环形结点的经典问题,推导过程我已经理解,且是自己写的代码,很棒。,思路是清晰的,但写的时候不好把控哪个需要作为临时结点被保存,想的不够深入,知道大概思路但不容易整理的非常有条理且清晰。刚开始自己思考的的时候设置的指针有点冗余且混乱,但是在看了示例代码后就清晰了,希望下次遇到能思路更清晰。这道题看了解题思路后觉得双指针在这里的运用非常秒,虚拟结点也很重要,看了思路后也能自己写出来。下次写链表题多要习惯性的运用虚拟头节点。但是在写的时候还是存在一些小问题,希望二刷的时候注意,但整体已经很棒了。

2023-09-23 19:33:28 49 1

原创 代码随想录刷题打卡day3

这道题的初始化链表这块需要加强,别的查找,删除,添加都能自己写出来,很棒!但是最后运行一直有问题,导致花了太多时间,决定二刷再看。这道题用双指针的方法,学会了,也理清楚了。希望看到类似的也就会了。这回是真的懂了,看了下公开课,讲的很清楚。

2023-09-23 09:55:56 64 1

原创 代码随想录刷题打卡day2

自己写出来的,而且和第一次写的不太一样,循环条件比之前有修改。但是后面又忘了更新下一次循环的起始坐标点,再接再厉!,也能第一时间想到用双指针法,且写的和第一次不一样,但也同通过了,很棒。,能想出来方法,写的时候还是没能一次性实现,需要再磨砺。

2023-09-22 14:59:01 161

原创 代码随想录刷题打卡day1

比如27.移除元素,第一时间想到了双指针,这点很棒!但是在具体实现的时候有点迷糊了,但是现在又清晰了,记住:“当快指针指的元素不是查找元素val时,快慢指针都移动一次!但当第一次碰到查找的元素val时,慢指针指到下一个元素位置,而快指针继续移动(到下一个不是val的值)即可,再把快指针遇到的val赋给当前慢指针。比如704.二分查找,第一次写的时候把mid定义在了while之前,导致死循环。其实是二刷这两道题,说实话比第一次有思路的多,但也有点磕磕绊绊。[刷题笔记day1]

2023-09-20 22:51:40 333 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除