自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营第二十六天(补,未完)| 回溯算法Part03 | 39. 组合总和、40.组合总和II、131.分割回文串

一个无重复元素的数组candidates,目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合,并以列表形式返回。

2024-02-01 00:21:16 154

原创 代码随想录算法训练营第二十五天(补)| 回溯算法Part02 | 216.组合总和III、17.电话号码的字母组合

找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。for循环中的9-(k-len(path))+2是剪枝操作,k-len(path)表示path中还要添加的元素个数。示例 2: 输入: k = 3, n = 9 输出: [[1,2,6], [1,3,5], [2,3,4]]示例 1: 输入: k = 3, n = 7 输出: [[1,2,4]]

2024-01-28 23:33:14 170

原创 代码随想录算法训练营第二十四天(补)| 回溯算法Part01 | 77. 组合

for语句中加入了递归,非常有意思。

2024-01-28 13:42:08 161

原创 代码随想录算法训练营第二十三天(补)| 二叉树part09 | 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

【代码】代码随想录算法训练营第二十三天(补,未完)| 二叉树part09 | 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树。

2024-01-25 22:52:32 157

原创 代码随想录算法训练营第二十一天(补)| 二叉树part07 | 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

因为二叉搜索树是有序的,相当于一个有序数组,遍历成数组再求最小差值就可以了。

2024-01-22 00:17:31 383

原创 代码随想录算法训练营第二十二天(补)| 235. 二叉搜索树的最近公共祖先、 701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点

从根节点向下遍历,第一次遇到cur节点在[p,q]之间,则cur节点就是p和q的最近公共祖先。删除节点比前一个题插入节点要难,因为要调整树的结构。要插入的节点放在叶子结点之下即可。

2024-01-17 23:42:42 431

原创 代码随想录算法训练营第二十天(第十九天休息)| 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树

【代码】代码随想录算法训练营第十九天(未完)| 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索。

2024-01-15 23:28:02 340

原创 代码随想录算法训练营第十八天(补) | 513.找树左下角的值、112. 路径总和、113.路径总和ii、105.从前序与中序遍历序列构造二叉树、106.从中序与后序遍历序列构造二叉树

【代码】代码随想录算法训练营第十八天(补,未完) | 513.找树左下角的值、112. 路径总和、113.路径总和ii、106.从中序与后序遍历序列构造二叉树、105.从前序与中序遍历序列构造二叉树。

2024-01-14 17:00:04 333 1

原创 代码随想录算法训练营第十六天 | 104.二叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数

最小深度即根节点到叶子结点的最短路径。

2024-01-12 23:42:29 361 1

原创 代码随想录算法训练营第十七天 | 110.平衡二叉树、257. 二叉树的所有路径、 404.左叶子之和

求二叉树深度用前序遍历,求二叉树高度用后序遍历。

2024-01-11 23:25:22 357 1

原创 代码随想录算法训练营第十五天 | 226.翻转二叉树、101. 对称二叉树

外侧节点互相比较,内侧节点互相比较。反转各节点的左右孩子。

2024-01-11 00:28:10 344 1

原创 代码随想录算法训练营第十四天 | 二叉树的递归遍历

递归终止条件:当前节点为空。

2024-01-09 23:23:38 389

原创 代码随想录算法训练营第十三天(第十二天休息) | 239. 滑动窗口最大值、347.前 K 个高频元素

今天的两题都比较困难,理解起来比较费劲,需多花时间反复研究,所以今天的打卡就借用代码随想录的答案。

2024-01-08 22:40:48 347

原创 代码随想录算法训练营第十一天(补) | 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

逆波兰表达式类似于二叉树的后序遍历,用来表示运算式。题目要求判断左右括号是否对应,考察对栈的应用。和上题类似,考察对栈的应用。

2024-01-07 20:03:17 338 1

原创 代码随想录算法训练营第十天(补) | 225. 用队列实现栈 、232.用栈实现队列

pop:将队列第一个元素利用popleft移除再append添加到队尾,从而最后移除目标元素。用一个队列即可实现栈的push,pop,top和empty功能。用队列来模拟栈,并用两个栈来实现队列。top:返回目标元素但不移除。deque是双端队列。

2024-01-06 23:36:46 433 1

原创 代码随想录算法训练营第九天 | 28. 实现 strStr()

利用KMP算法,虽然下图的算法在Leetcode中超时了,但我觉得这个解法我目前最能理解,next存放的就是最长相同前后缀,没有减一加一或者整体右移。今天了解个大概,有空了再细研究。

2024-01-04 23:46:30 382 1

原创 代码随想录算法训练营第八天 | 344.反转字符串、541. 反转字符串II、151.翻转字符串里的单词

利用split将每个单词隔开,再直接翻转单词顺序,最后再连起来。没太理解这题,有空再看看。

2024-01-03 22:48:43 436 1

原创 代码随想录算法训练营第七天 | 454.四数相加 II、383. 赎金信、15. 三数之和、18. 四数之和

利用字典存入nums1和nums2的各元素之和及其出现次数,再计算nums3和nums4的各元素之和的相反数,检查是否与nums1和nums2中的元素和为相反数。字典的get函数可以替代判断变量是否在dict.key之内而后添加key或者增加value的语句。在上一题的基础上增加了一层嵌套,同样利用双指针,i在左,而后j,left移动,right在右。利用双指针,i在左,right在右,left在中间移动。

2024-01-02 23:29:15 318

原创 代码随想录算法训练营第六天(第五天周日休息)| 242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

利用一个哈希表, s字符串中的字母出现一次哈希表对应位置+1, t字符串中的字母出现一次哈希表对应位置-1,如果最后哈希表全为0返回True。先存储一个数组中的所有元素进一个哈希表, 另一个数组中的元素再与该哈希表进行比较。sequence是要遍历的数据对象(列表, 元组, 字符串......)字典中的get()方法: dict(key, value)value: (可选)如果键不存在,则返回value的值。i是当前元素的索引, value是当前元素的值。key: (必选) 指定选择的键。

2024-01-01 20:30:51 323

原创 代码随想录算法训练营第四天| 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II

注意是结点相同,不是只结点的值相同,且该解法中提前将长链表设定为B,省去了之后移动结点时判断谁长的问题。利用双指针,快慢指针先错开n个距离,最后一起移动到链表末尾,再删除慢结点的后一个结点。定义两个临时结点temp和temp1,temp用来两两交换,temp1用来向后移。思路:每走一步判断该结点是否在集合内,有则return,没有则添加。142.环形链表II。

2023-12-31 16:03:49 346

原创 代码随想录算法训练营第三天| 203.移除链表元素、707.设计链表、206.反转链表

一个节点由当前节点的值val和指向下一个节点的指针next组成。

2023-12-30 00:23:22 438

原创 代码随想录算法训练营第二天| 977. 有序数组的平方、209. 长度最小的数组、59.螺旋矩阵II

个人感觉该题小有难度,边界判断很多,经常把自己绕进去,之后再研究一下。利用双指针求得题目所需长度最短的数组。利用双指针一左一右向中间移动。

2023-12-29 00:10:45 369

原创 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素

right初始值为数组长度,while的判断条件left < right,当target小于中间值,right=middle。while的判断条件left

2023-12-27 22:40:15 442

空空如也

空空如也

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

TA关注的人

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