代码随想录算法训练营日志
罐头_
这个作者很懒,什么都没留下…
展开
-
代码随想录算法训练营第17天 | 二叉树_part04 110. 平衡二叉树、257. 二叉树的所有路径、404. 左叶子之和
中(页面左边有对应题目的目录)有详细讲解,这是博主学习的心得和日志,感兴趣的建议去阅读一下原文。以下题目皆在Carl老师的。原创 2024-06-12 12:40:44 · 253 阅读 · 0 评论 -
代码随想录算法训练营第16天 | 二叉树_part03 104. 二叉树最大深度、111. 二叉树的最小深度、222. 完全二叉树的节点个数
中(页面左边有对应题目的目录)有详细讲解,这是博主学习的心得和日志,感兴趣的建议去阅读一下原文。以下题目皆在Carl老师的。原创 2024-06-11 17:25:23 · 219 阅读 · 0 评论 -
代码随想录算法训练营第15天 | 二叉树_part2 二叉树层序遍历 BFS,226. 翻转二叉树,101. 对称二叉树
中(页面左边有对应题目的目录)有详细讲解,这是博主学习的心得和日志,感兴趣的建议去阅读一下原文。以下题目皆在Carl老师的。复习和巩固区域变量的基础。原创 2024-06-10 17:09:46 · 170 阅读 · 0 评论 -
代码随想录算法训练营第14天 | 二叉树_part1 递归遍历、非递归(迭代)遍历
中(页面左边有对应题目的目录)有详细讲解,这是博主学习的心得和日志,感兴趣的建议去阅读一下原文。以下题目皆在Carl老师的。统一非递归方法后续有空再补。原创 2024-06-05 00:29:14 · 166 阅读 · 0 评论 -
代码随想录算法训练营第13天 | 栈与队列_part3 239. 滑动窗口最大值、347.前 K 个高频元素
第12天周日休息,今天第13天,继续栈与队列,坚持!以下题目皆在Carl老师的中(页面左边有对应题目的目录)有详细讲解,这是博主学习的心得和日志,感兴趣的建议去阅读一下原文。原创 2024-06-03 20:16:18 · 285 阅读 · 0 评论 -
代码随想录算法训练营第10、11天 | 栈与队列_ 232.用栈实现队列、225. 用队列实现栈、20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值
第10、11天,坚持!以下题目皆在Carl老师的中(页面左边有对应题目的目录)有详细讲解,这是博主学习的心得和日志,感兴趣的建议去阅读一下原文。原创 2024-06-03 00:47:16 · 192 阅读 · 0 评论 -
代码随想录算法训练营第9天 | 字符串part2_ KMP模式串字符串匹配算法 (初识,简单了解)
初识KMP,搞清楚模式串的最长相同前缀后缀,这些公共前后缀长度会共同放在一个数组里,叫做前缀表,根据前缀表里的长度信息,来确定当字符不匹配时指针应该回退多少位再继续匹配。中(页面左边有对应题目的目录)有详细讲解,这是博主学习的心得和日志,感兴趣的建议去阅读一下原文。以下题目皆在Carl老师的。原创 2024-06-02 15:51:43 · 148 阅读 · 0 评论 -
代码随想录算法训练营第8天 | 字符串part1_ 344.反转字符串、541. 反转字符串II、54. 替换数字、151.翻转字符串里的单词、55.右旋字符串
第8天,坚持!以下题目皆在Carl老师的中(页面左边有对应题目的目录)有详细讲解,这是博主学习的心得和日志,感兴趣的建议去阅读一下原文。原创 2024-05-31 00:11:12 · 129 阅读 · 0 评论 -
代码随想录算法训练营第7天 | 哈希表part2_ 454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
第7天以下题目皆在Carl老师的中(页面左边有对应题目的目录)有详细讲解,这是博主学习的心得和日志,感兴趣的建议去阅读一下原文。原创 2024-05-29 20:53:03 · 189 阅读 · 0 评论 -
代码随想录算法训练营第6天 | 哈希表part1_ 242.有效的字母异位词、349. 两个数组的交集、第202题. 快乐数、1. 两数之和
中(页面左边有对应题目的目录)有详细讲解,这是博主学习的心得和日志,感兴趣的建议去阅读一下原文。注意这里哈希表是存num[i]为键,这样才能find():在 C++ unordered_set中,若find。以下题目皆在Carl老师的。第6天,第5天星期天休息。需巩固整除、取模基础。原创 2024-05-27 16:04:18 · 210 阅读 · 0 评论 -
代码随想录算法训练营第4天 | 链表part2_ 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II
可以这样理解,两个指针A, 和B,分别从两个链表头出发开始遍历,遍历完自己所在线路这里假设A就去另一条路B去遍历,因为我们本质要找的是两个是否有共用的一个节点内存地址,所以在这个同时遍历的过程中,如果两个链表有相交,两个指针总会遍历到同一个节点,即A, B 同时分别遍历(线路A+B) (线路B+A)的路线,遇到相同地址,返回节点。养成先保存链表的初始(下一个节点),再去改变(下一个节点)指向的习惯,避免节点信息丢失。时间复杂度 O(n+m) 相当于遍历了(A+B)路线上所有的节点。原创 2024-05-26 03:38:53 · 361 阅读 · 0 评论 -
代码随想录算法训练营第3天 | 链表part1_203. 707. 206.
形象的比喻有点像“占双人座”,你是cur, 朋友pre叫你帮他占个座,因为你也要坐,所以你叫临时朋友tmp帮你先在现场占1个座,你cur随后就到占了另1个座,等到pre来了,你把座位给了pre, 临时朋友temp再把座位给了你。pre是关键人物,所以pre先动,反转(换座)开始。熟悉链表移除节点操作,分头节点和非头节点情况,头节点直接往后移一位,非头节点需要通过头节点指针重新指向它后一位的后一位进行遍历来操作。,注意遍历index, 是遍历(index-1)次,index=0 就停 相当于 false。原创 2024-05-25 01:35:40 · 415 阅读 · 0 评论 -
代码随想录算法训练营第2天 | 数组part2_977. 209. 59.
即利用 i 轮遍历计算每种达到target的组合方式nums[j]+nums[j+1]...中,哪种组合最短,时间复杂度O(n^2)时间复杂度O(n),比暴力解法用快排sort(A.begin() ,B.end()) 的O(n+nlogn)好不少。用i和j双指针组成类似于区间一样的“窗口”,用尽可能小的窗口去切割出区间sum为target,最后返回最小区间长度。因为是平方,所有利用双指针从两边寻找最大元素开始,到i=j停止。方法二:扫描线,画一边缩一次边界。方法一:画完一圈缩边界。原创 2024-05-24 01:03:59 · 440 阅读 · 0 评论 -
代码随想录算法训练营第一天 | 704. 二分查找 27. 移除元素
今天是2024年5月22日,尝试开始写博客记录学习日常。今天主要学习了数组问题中的二分查找,移除元素。原创 2024-05-22 20:21:09 · 392 阅读 · 0 评论