- 博客(42)
- 收藏
- 关注
原创 代码随想录训练营第十七天|654.最大二叉树 、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
最近秋招,没时间写两份代码啦,但是还要加油呀
2024-09-02 20:40:27
257
原创 代码随想录训练营第十六天|513.找树左下角的值、112. 路径总和、Leetcode113.路径总和Ⅱ、106.从中序与后序遍历序列构造二叉树、105.从前序与中序遍历序列构造二叉树
保证优先左边搜索,然后记录深度最大的叶子节点,此时就是树的最后一行最左边的值。又差点忘了,循环结束标志为。帮助父结点弹出队列。
2024-08-29 21:24:25
299
原创 代码随想录算法训练营第十五天| 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和、 222.完全二叉树的节点个数
会根据提供的函数对指定序列做映射,语法:map(function, iterable)完全二叉树的结点数量可以通过满二叉树结点数量公式计算:2**depth - 1。(2) iterable:一个或多个序列。注意:传入的形参为引用格式,递归+回溯成对出现。(1)function:函数。
2024-08-28 21:07:26
218
原创 代码随想录算法训练营第十四天| 226.翻转二叉树、101. 对称二叉树、104.二叉树的最大深度、
【代码】代码随想录算法训练营第十四天| 226.翻转二叉树、101. 对称二叉树、104.二叉树的最大深度、
2024-08-27 21:33:58
238
原创 代码随想录算法训练营第十三天|144. 二叉树的前序遍历、145.二叉树的后序遍历、94.二叉树的中序遍历、102.二叉树的层序遍历
【代码】代码随想录算法训练营第十三天|144. 二叉树的前序遍历、145.二叉树的后序遍历、94.二叉树的中序遍历。
2024-08-26 21:17:04
217
原创 代码随想录算法训练营第十一天|150. 逆波兰表达式求值 、239. 滑动窗口最大值、347.前 K 个高频元素
(2)定义:priority_que<数据类型, 容器类型, 仿函数>,当需要用自定义的数据类型时才需要传入这三个参数,否则默认为大顶堆。(仿函数:就是使一个类的使用看上去像一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类)(3)含义:如果仿函数(比较方式)返回为真,则进行之后的push操作。单调队列:将队列元素通过最大值顶出比他小的值的方式实现单调队列排序。(2)格式举例:mul(x, y) == x * y。(1)内置封装函数:mul、add、sub。
2024-08-26 00:18:31
248
原创 代码随想录算法训练营第十天|232.用栈实现队列、225. 用队列实现栈、20. 有效的括号、1047. 删除字符串中的所有相邻重复项
【代码】代码随想录算法训练营第十天|232.用栈实现队列、225. 用队列实现栈、20. 有效的括号、1047. 删除字符串中的所有相邻重复项。
2024-08-23 16:45:20
366
原创 代码随想录算法训练营第九天| 151.翻转字符串里的单词、卡码网55.右旋转字符串 、28. 找出字符串中第一个匹配项的下标、459. 重复的子字符串
(1)str.join(item):python中字符串是不可变类型,所以经常会将字符串转换成列表,再通过.join函数再将列表转换成字符串。(2)' '.join(item)含义:将字符串item中的每个成员以空格' '分开再拼接成一个字符串。(3)','.join(item)含义:将字符串item中的每个成员以逗号','分开再拼接成一个字符串。(1)含义:拆分字符串,通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)(3)str.rstrip():去除字符串右边空格。
2024-08-22 22:08:00
497
原创 代码随想录算法训练营第八天|344.反转字符串、541. 反转字符串II、卡码网:54.替换数字
(2)' '.join(item)含义:将字符串item中的每个成员以空格' '分开再拼接成一个字符串。(3)','.join(item)含义:将字符串item中的每个成员以逗号','分开再拼接成一个字符串。(1)用法:range(start, stop[, step])(1)函数需要先定义后调用。
2024-08-21 21:06:42
330
原创 代码随想录算法训练营第七天| 454.四数相加II 、383. 赎金信 、15. 三数之和 、18. 四数之和
(2)d[key] = d.get(key,0)+1:d[key]表示键为key的值value,找不到则报错;(2)对数组降序排序:sort(nums.begin(), nums.end(), greater<int>());(3)举例:lambda x, y : x + y :输入为x值和y值,输出为它们的和x+y的值。(1)对数组升序排序:sort(nums.begin(), nums.end());(1)定义:字典元素以键值对存在:key(键):value(值),d = {}
2024-08-20 16:52:15
446
原创 代码随想录算法训练营第六天| 242. 有效的字母异位词、349. 两个数组的交集、202.快乐数、1. 两数之和
(1)elements()方法:返回一个迭代器,可以通过 list 或者其它方法将迭代器中的元素输出,输出的结果为对应出现次数的元素。可以设置默认值的字典dict,defaultdict的第一个参数是一个可调用对象,它用于生成默认值,例如int, list, set等。(2)most_common()方法:返回一个出现次数从大到小的前 n 个元素的列表。" " 和 ' ' 的区别:" " 中的内容是字符串、' '中的内容是字符。Counter是一个简单的计数器,例如,统计字符出现的个数。
2024-08-19 16:15:49
273
原创 代码随想录算法训练营第四天| 24. 两两交换链表中的节点 、160.链表相交、142.环形链表II
即:2*(x+y) = x+y+n*(y+z)快指针行走距离:x+y+n*(y+z)慢指针行走距离:x+y。
2024-08-17 11:22:50
400
原创 代码随想录算法训练营第三天|203. 移除链表元素、707.设计链表、206.反转链表
python中定义虚拟头节点的方法,dummy_head.next = head是错误写法。之前做过一次了,重新做一次又出现很多错误,也有了很多收获。C++需要delete删除的结点。总是出现访问空指针的错误。
2024-08-16 17:30:09
394
原创 代码随想录算法训练营第二天|209.长度最小的子数组、59.螺旋矩阵II、开发商购买土地
圈的原因是,每转一圈上下左右都会减一,也就是说上下减2、左右减2,那么最多转。子数组的概念、滑动窗口方法中循环标志 j 的意义为终止位置。
2024-08-15 23:00:41
407
原创 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素、977.有序数组的平方
【代码】代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素、977.有序数组的平方。
2024-08-14 16:50:28
264
原创 20240301-Day22-点亮代码技能
Leetcode151(代码随想录:反转字符串中的单词)很难很难很难,是前面学习内容的联合应用,逻辑苦手只能靠勤奋理解背诵了
2024-03-01 16:45:49
763
原创 20240228-Day 20-点亮代码技能
Leetcode344(代码随想录:反转字符串)荒废了两个月,现在重新捡起来,捡起来的第一题还是比较简单的,但是要掌握一些基本的库函数,比如说swap交换函数的时间复杂度,reverse函数等等。
2024-02-28 16:50:30
816
原创 20231228-Day 18-点亮代码技能
Leetcode15(代码随想录:三数之和)今天卡老师说不用哈希表比较简单,于是就只学习了没有用哈希表的方法。希望自己可以不断进步,熟练掌握任何一种方法。
2023-12-28 20:26:17
829
1
原创 20231225-Day 16-点亮代码技能
好几天没写,快把学过的哈希表忘光了,重新复习冲冲冲!defaultdict方法和lambda函数需要继续学习呀
2023-12-25 16:46:15
1058
原创 20231214-Day 15-点亮代码技能
Leetcode202(代码随想录:快乐数)检验一下学习成果:自己写新代码还是不行,取数值各位上的单数操作不熟练,加油加油加油!
2023-12-14 13:33:41
346
1
原创 20231208-Day 11-点亮代码技能
Leetcode142 LCR022(代码随想录:环形链表Ⅱ)快慢指针真的挺好用的,但是这要是搁在面试里面我肯定想不出来
2023-12-08 10:54:38
188
原创 20231207-Day 10-点亮代码技能
Leetcode19(代码随想录:删除链表的倒数第N个结点)发现一旦会了链表这东西,听讲之后做题就很快乐(也有可能单纯因为是听讲了)
2023-12-07 16:36:26
133
1
原创 20231129-Day 5-点亮代码技能Leetcode59
Leetcode59(代码随想录:螺旋矩阵Ⅱ)两个题目的不同之处在于中间元素的处理
2023-11-29 11:01:20
885
1
原创 20231128-Day 4-点亮代码技能
6. 创建元素值为0,元素个数为nums.size()的vector数组:vector<int> result(nums.size(), 0);10. 对数组降序排序:sort(nums.begin(), nums.end(), greater<int>());5. 删除位置begin到end之间的元素:nums.erase(const begin, const end);9. 对数组升序排序:sort(nums.begin(), nums.end());8. 数组最后一个元素:nums.end();
2023-11-28 16:29:27
34
原创 20231127-Day 3-点亮代码技能
6. 创建元素值为0,元素个数为nums.size()的vector数组:vector result(nums.size(), 0);10. 对数组降序排序:sort(nums.begin(), nums.end(), greater());5. 删除位置begin到end之间的元素:nums.erase(const begin, const end);9. 对数组升序排序:sort(nums.begin(), nums.end());8. 数组最后一个元素:nums.end();
2023-11-27 11:00:14
325
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人