文章分类 -  leetcode刷题 / 每一个知识点总结

摘要:图需要注意的点 图的dfs遍历有两种写法,一种是进去之前就给要进去的点标记,另一种是进去dfs函数之后再进行标记 图的bfs(层序遍历)和树的层序不一样的地方在于,树是需要记录每一层的个数的,所以有一个记录的操作。 有一些题目看似不是图的题目,但是转换一下角度就会发现是理解的问题。 阅读全文
posted @ 2024-04-08 15:32 铜锣湾陈昊男 阅读(5) 评论(0) 推荐(0)
摘要:滑动窗口 模板:int fast = 0, slow = 0; for(; fast < n; fast++) { 将fast对应的值不断放到窗口中 while(极值条件) { 将窗口放到最小,记录答案 } } 解释: 两个循环:第一个是不断的加入窗口,另一个是不断减少窗口 回溯 需要理解的两个重点 阅读全文
posted @ 2024-03-09 21:53 铜锣湾陈昊男 阅读(9) 评论(0) 推荐(0)
摘要:链表知识点总结 注意虚拟头节点的使用。 删除节点的时候需要定位到该节点的上一个节点进行操作(所以操作如果存在操作头节点的逻辑,那么虚拟头节点就能作为头节点的上一个节点对其操作) 链表的结尾节点默认就是NULL。 删除节点的时候最好能够释放空间,避免内存泄漏(也显现你的牛逼)。 阅读全文
posted @ 2024-03-09 21:51 铜锣湾陈昊男 阅读(5) 评论(0) 推荐(0)
摘要:回溯的知识点总结 看你可选的选择是不是重复(需不需要使用used数组去重),如“组合总和Ⅱ”中出现的数组的元素是有重复的,而且要求组合都是不一样的。 start参数是不是应该考虑在参数模板中,如果是求的组合数,那么需要start参数,如果求的是排列数,就不需要start参数。 元素是不是可以重复选择 阅读全文
posted @ 2024-03-09 21:39 铜锣湾陈昊男 阅读(10) 评论(0) 推荐(0)
摘要:树需要注意的点 最后结束的时候的节点是哪个?结束条件是什么。 如果是前序遍历的话,在进入下一个节点之前需要将本层的处理逻辑写在进入下一个递归之前,如果是后序遍历,那么处理逻辑是在进入所有递归之和写的。注意!如果你是到了最后一个节点返回的话,那么就是后序遍历,大部分的题目是后序遍历的。 要明确处理逻辑 阅读全文
posted @ 2024-03-09 21:33 铜锣湾陈昊男 阅读(4) 评论(0) 推荐(0)