首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
刷题日记
YQQQIN
创建于2023-01-11
订阅专栏
记录刷题的点点滴滴
暂无订阅
共22篇文章
创建于2023-01-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
刷题日记22 | 216.组合总和III、17.电话号码的字母组合
刷题日记22 今天是回溯算法的第二天,组合问题真的很经典,要把它理解成一棵N叉树,这棵树的宽度就是for循环,这树的深度就是递归(回溯)。 216. 组合总和 III 17. 电话号码的字母组合 一道
刷题日记21 | 77. 组合
刷题日记21 今天开始学习回溯算法! 之前一直没有理解回溯算法,只是粗略的理解成了递归。实际上,回溯算法可以看成是在N叉树上的遍历。理解了这一点,许多问题就就能迎刃而解。 77. 组合 优化:分析搜索
刷题日记20 | 669. 修剪二叉搜索树、108. 将有序数组转换为二叉搜索树、538. 把二叉搜索树转换为累加树
刷题日记20 669. 修剪二叉搜索树 看起来挺难得题,对于二叉树的修剪我总是想到左旋和右旋,但实际上这是二叉搜索树,不用那么麻烦。 对于这道题前序遍历是很方便的,实际上对于每个节点,需判断他是否小于
刷题日记19 | 235. 二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点
刷题日记19 今天还是二叉搜索树,二叉搜索树的题型相对还算简单的,要用上二叉搜索树的特点:有序。难点还是递归遍历和逻辑。 235. 二叉搜索树的最近公共祖先 这道题的逻辑大致和[236]相同,区别是这
刷题日记18 | 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先
刷题日记18 今天依然是二叉搜索树,好吧已经连续5天刷二叉树了,是时候总结一下二叉树的题型了。 二叉搜索树的主要特点就是有序,可以看成是一个有序的数组,这样求最值,最小差值都会很容易。 530. 二叉
刷题日记17 | 654. 最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
刷题日记17 今天还是二叉树,尝试使用多种方法解题,理解不同的思路 654. 最大二叉树 递归法求解,前序遍历,构造二叉树一般都是前序遍历,因为要先确定二叉树的根节点,再确定左右节点,时间复杂度O(n
刷题日记16 | 513. 找树左下角的值、112. 路径总和、113. 路径总和 II、106. 从中序与后序遍历序列构造二叉树
刷题日记16 今天依然是二叉树,巩固一下带回溯的递归法,还有从中序遍历、后序遍历中创建二叉树。 从中序遍历和后序遍历能还原唯一的二叉树,从中序遍历和前序遍历能还原唯一的二叉树。 513. 找树左下角的
刷题日记15 | 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和
今天依然是二叉树,要注意求二叉树的深度和高度是不同的。 二叉树的深度是从根节点到叶子节点的最大路径边的条数 二叉树的高度指的是从某个节点到叶子节点的最长路径边的条数
刷题日记14 | 111. 二叉树的最小深度、559. N 叉树的最大深度、222. 完全二叉树的节点个数
刷题日记14 559. N 叉树的最大深度 层序遍历 递归遍历(后序遍历) 111. 二叉树的最小深度 层序遍历 递归法(后序遍历) 222. 完全二叉树的节点个数 递归法(后序遍历) 层序遍历
刷题日记13 | 102.二叉树的层序遍历、107.二叉树的层次遍历II...
刷题日记12 今天的主题是二叉树的层序遍历,各个题目的解法大同小异 102. 二叉树的层序遍历 107. 二叉树的层序遍历 II 这道题要求从叶子节点,从下至上进行层序遍历,具体思路是在res链表添加
刷题日记12 | 144.二叉树的前序遍历、145.二叉树的后序遍历、94.二叉树的中序遍历
## 刷题日记12 ### 二叉树的遍历 二叉树主要有两种遍历方式: 1. 深度优先遍历:先往深走,遇到叶子节点再往回走。 1. 广度优先遍历:一层一层的去遍历。 **这两种遍历是图论中最基本的两种遍
刷题日记11 | 239. 滑动窗口最大值、347.前 K 个高频元素
刷题日记11 今天的主题是队列——单调栈——优先级队列! 自定义单调栈 这里我们用Deque作为容器来实现单调栈,关键是要实现队列的push()方法和poll()方法。 push()方法需要让加入的值
刷题日记10 | 20. 有效的括号、 150. 逆波兰表达式求值、1047. 删除字符串中的所有相邻重复项
刷题日记10 今天大年初四!休息了3天,重新开始刷题!今日主题依然是栈和队列。 20. 有效的括号 这道题思路很简单,把每个"(", "[" ,"{" 都压入栈中,如果栈为空或者栈顶的元素和字符不同直
刷题日记09 | 232.用栈实现队列、225. 用队列实现栈
今天的主题:栈与队列 这里复习一下java里的双端队列Deque 添加元素:offer(), offerFirst(), offerLast() 返回元素:peek(), peekFirst(),
刷题日记08 | 28. 实现 strStr()、 459.重复的子字符串
刷题日记08 今天的主题是KMP! KMP的核心就是算出前缀表。 什么是前缀表? 前缀表中的值是字符串的前缀集合与后缀集合的交集中最长元素的长度。 例如,对于”aba”,它的前缀集合为{”a”, ”a
刷题日记07 | 151.翻转字符串里的单词、344.反转字符串、541. 反转字符串II、剑指Offer05.替换空格 、剑指Offer58
刷题日记 今天的主题是字符串 344. 反转字符串 541. 反转字符串 II 每隔2k个数反转前k个数,这道题考察的还是基础的代码能力,循环遍历时i应该i += 2*k ,除此之外,今天又复习了异或
刷题日记06 | 15. 三数之和 、18. 四数之和、383. 赎金信 、454.四数相加II
刷题日记06 第六天了!今天依然是哈希表 15.三数之和18.四数之和的解题思路是一样的。最开始想到的肯定是用哈希表来缓存数值,但这种思路非常麻烦,这里用的是双指针。值得注意的是双指针算法的必要条件,
刷题日记05 | 1. 两数之和、202. 快乐数、242.有效的字母异位词、349. 两个数组的交集
## 刷题日记05 今天开始刷哈希表相关的题 那什么时候需要用到哈希表呢,像是hashmap这样的数据结构,我认为是**在集合中查找某个值**的时候。 ### [1. 两数之和](https://le
刷题日记04 | 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、02.07. 链表相交、142.环形链表II
刷题日记04 24. 两两交换链表中的节点 有点复杂的链表题,一开始想得是用三个指针,但其实是要定义三个临时变量、一个虚头节点和一个cur节点遍历就好操作了。链表的题做多了就感觉有思路了,还是多加练习
刷题日记03 | 203.移除链表元素、707.设计链表 、206.反转链表
刷题日记03 203. 移除链表元素 比较基础的链表操作,对链表进行增删改的时候使用虚头节点会更方便操作。而遍历链表一般是不需要虚头节点的 707. 设计链表 也是二刷这道题了,花了半小时勉强做出来,
下一页