- 博客(28)
- 收藏
- 关注
原创 代码随想录算法训练营第三十天| 332.重新安排行程 、 51. N皇后 、37. 解数独
回溯算法章节到此结束 总的来说 主要是配合递归使用 然后不同问题有不同的 对应方案,比如组合,排列等等 一系列问题,继续努力!
2023-06-09 21:45:47
112
原创 代码随想录算法训练营第二十九天| 491.递增子序列 、 46.全排列 、47.全排列 II
思路:注意该数组不能设置为有序数组 也就不能用used去标记使用过的元素了。
2023-06-07 21:21:22
93
原创 代码随想录算法训练营第二十七天|LeetCode39. 组合总和、LeetCode40.组合总和II、LeetCode131.分割回文串
切割问题较难理解 尤其对于切割线的把握更是比较困难 需要继续努力。
2023-06-05 20:18:02
29
原创 代码随想录算法训练营day25| 216.组合总和III 、 17.电话号码的字母组合
看完视频和文章后 感觉不是很困难,但还是很难靠自己想出来 继续加油吧!
2023-06-03 19:57:13
144
原创 代码随想录算法训练营day24| 回溯算法理论基础 、 77. 组合
在二叉树学习的时候 就已经接触过回溯了 主要是用来解决 多次for循环的问题 但是还是不太好理解 尤其是剪枝操作 回溯就是递归 确定好递归三要素就容易许多。
2023-06-02 21:15:03
126
原创 代码随想录算法训练营day23| 669. 修剪二叉搜索树 、 108.将有序数组转换为二叉搜索树 、 538.把二叉搜索树转换为累加树
二叉树章节 正式结束,进入回溯章节 ,继续加油!!!坚持。
2023-06-01 21:05:40
53
原创 代码随想录算法训练营day22| 235. 二叉搜索树的最近公共祖先 、 701.二叉搜索树中的插入操作 、 450.删除二叉搜索树中的节点
删除二叉搜索树节点的第五种情况不太好理解 继续努力!!
2023-06-01 11:21:18
45
原创 代码随想录算法训练营day21| 530.二叉搜索树的最小绝对差 、 501.二叉搜索树中的众数 、 236. 二叉树的最近公共祖先
关于双指针回溯的问题这里需要多加注意。
2023-05-30 21:13:10
76
原创 代码随想录算法训练营day19| 654.最大二叉树 、 617.合并二叉树 、 700.二叉搜索树中的搜索 、98.验证二叉搜索树
总体来说不是很难理解 但是有很多坑容易踩中 包括理解递归的终止条件等等也十分重要 加油!!
2023-05-29 21:49:44
54
原创 代码随想录算法训练营day18| 513.找树左下角的值、 112. 路径总和 113.路径总和ii、106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
今天总体偏难 需要注意 前后序是无法进行构造二叉树 因为前序后序虽然可以判别出根元素 但是无法切割左右部分,所以无法构造。
2023-05-27 21:55:11
35
原创 代码随想录算法训练营day17| 110.平衡二叉树 、 257. 二叉树的所有路径 、404.左叶子之和
因为求深度可以从上到下去查 所以需要前序遍历(中左右),而高度只能从下到上去查,所以只能后序遍历(左右中)
2023-05-26 20:32:41
154
原创 代码随想录算法训练营day16| 104.二叉树的最大深度 (优先掌握递归) 、 559.n叉树的最大深度 、 111.二叉树的最小深度 (优先掌握递归)、222.完全二叉树的节点个数(优先掌握递归)
总体来说不算特别难理解 但是迭代和递归法 还是比较复杂,很难一次性记住 尤其是前中后序的使用场景 更需要铭记于心。
2023-05-25 21:03:28
21
原创 代码随想录算法训练营day15| 层序遍历 、 226.翻转二叉树 (优先掌握递归) 、 101. 对称二叉树 (优先掌握递归)
不管是迭代还是递归 都是需要掌握的 早日形成自己的解题习惯是最重要的 加油~~
2023-05-24 22:07:36
28
原创 代码随想录算法训练营day14 | 理论基础 、 递归遍历 (必须掌握)、 迭代遍历 、 统一迭代
这一部分练习不算很困难 但仍然需要多复习,加强理论知识的巩固。
2023-05-23 21:30:50
28
原创 代码随想录算法训练营day13 | 239. 滑动窗口最大值 、 347.前 K 个高频元素 总结
在栈与队列系列中,我们强调栈与队列的基础,也是很多同学容易忽视的点。使用抽象程度越高的语言,越容易忽视其底层实现,而C++相对来说是比较接近底层的语言。我们用栈实现队列,用队列实现栈来掌握的栈与队列的基本操作。接着,通过括号匹配问题、字符串去重问题、逆波兰表达式问题来系统讲解了栈在系统中的应用,以及使用技巧。通过求滑动窗口最大值,以及前K个高频元素介绍了两种队列:单调队列和优先级队列,这是特殊场景解决问题的利器,是一定要掌握的。
2023-05-22 22:01:31
38
原创 代码随想录算法训练营day11 | 20. 有效的括号 、 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
我们在删除相邻重复项的时候,其实就是要知道当前遍历的这个元素,我们在前一位是不是遍历过一样数值的元素,那么如何记录前面遍历过的元素呢?所以就是用栈来存放,那么栈的目的,就是存放遍历过的元素,当遍历当前的这个元素的时候,去栈里看一下我们是不是遍历过相同数值的相邻元素。第三种情况:遍历字符串匹配的过程中,栈已经为空了,没有匹配的字符了,说明右括号没有找到对应的左括号return false。第一种情况:已经遍历完了字符串,但是栈不为空,说明有相应的左括号没有右括号来匹配,所以return false。
2023-05-22 21:26:09
49
1
原创 代码随想录算法训练营day10 | 理论基础 、 232.用栈实现队列 225. 用队列实现栈
初见队列和栈 总体来说较容易理解 继续加油!!
2023-05-19 20:05:08
133
1
原创 代码随想录算法训练营day9 | 28. 实现 strStr 、 459.重复的子字符串、 字符串总结 、 双指针回顾
初次接触kmp算法 感觉十分困难 next数组那里不太好理解 二刷时会重点关注,并着重复习。
2023-05-18 22:10:11
84
1
原创 代码随想录算法训练营day8 | 344.反转字符串 、 541. 反转字符串II、 剑指Offer 05.替换空格 、 151.翻转字符串里的单词 、 剑指Offer58-II.左旋转字符串
本题是字符串基础题目,就是考察 reverse 函数的实现,同时也明确一下 平时刷题什么时候用 库函数,什么时候 不用库函数。其实在遍历字符串的过程中,只要让 i += (2 * k),i 每次移动 2 * k 就可以了,然后判断是否需要有反转的区间。因为字符串也是一种数组,所以元素在内存中是连续分布,这就决定了反转链表和反转字符串方式上还是有所差异的。反转字符串依然是使用双指针的方法,只不过对于字符串的反转,其实要比链表简单一些。因为要找的也就是每2 * k 区间的起点,这样写,程序会高效很多。
2023-05-17 21:27:41
24
1
原创 代码随想录算法训练营day6 | 哈希表理论基础 、 242.有效的字母异位词 、349. 两个数组的交集 、202. 快乐数 、 1. 两数之和
使用数组和set来做哈希法的局限。
2023-05-15 22:12:39
48
1
原创 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点 、 19.删除链表的倒数第N个节点 、面试题 02.07. 链表相交、 142.环形链表II
做完四道算法题 并观看视频和文章进行深度学习, 进行总结数组视频讲解|文章讲解题目链接思路: 这道题目正常模拟就可以了。建议使用虚拟头结点,这样会方便很多,要不然每次针对头结点(没有前一个指针指向头结点),还要单独处理。代码实现:9.删除链表的倒数第N个节点 题目链接|视频链接|文章链接思路: 双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。删掉slow所指向的节点就可以了。代码实现:
2023-05-13 22:24:16
72
1
原创 代码随想录算法训练营第一天 | 977.有序数组的平方 、 209.长度最小的子数组 、 59.螺旋矩阵II
做完三道算法题 并观看视频和文章进行深度学习, 进行总结数组数组是非常基础的数据结构,在面试中,考察数组的题目一般在思维上都不难,主要是考察对代码的掌控能力。两天学习了四种数组的解题方式,再进行深度复习,相信技术会越来越好!继续加油。
2023-05-11 23:43:36
36
1
原创 代码随想录算法训练营第一天 | 数组理论基础 、 704.二分查找 、27.移除元素
今天总共用了大约两个小时的时间 完成了对视频和文章的学习 并且自己手动敲写了 两个题目的代码 今天整体难度较为简单自身基础比较差,希望能通过学习 进行完善。
2023-05-10 21:22:05
246
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人