力扣
文章平均质量分 60
计算机中的小垃圾
这个作者很懒,什么都没留下…
展开
-
教你如何快速解决二叉树类的算法题
笔记依照于东哥所著算法 文章目录二叉树类的题如何思考例题 二叉树类的题如何思考 二叉树解题的思维模式分两类: 1、是否可以通过遍历一遍二叉树得到答案?如果可以,用一个 traverse 函数配合外部变量来实现,这叫「遍历」的思维模式。 2、是否可以定义一个递归函数,通过子问题(子树)的答案推导出原问题的答案?如果可以,写出这个递归函数的定义,并充分利用这个函数的返回值,这叫「分解问题」的思维模式。 无论使用哪种思维模式,你都需要思考: 如果单独抽出一个二叉树节点,它需要做什么事情?需要在什么时候(前/中/后原创 2022-04-12 08:55:25 · 395 阅读 · 0 评论 -
题解LRU算法
LRU算法,最久未被使用算法,有一个固定大小的cache,当装不下任务的时候,就会选取,最久未被使用过的任务,进行淘汰。对于LRU要求有如下: 1,查找和删除都是O1级别的,O1级别立马就想到了hash表结构,满足这个要求。 2,要求把使用过的任务安放起来,用的时候,就去寻找,这个想到了用链表来实现。 实际上java中提供了这两种结构的结合题,这就是LinkedHashMap。用这种结构就能解决力扣上的LRU算法题,代码如下: class LRUCache { private int ca原创 2022-03-26 21:13:28 · 1926 阅读 · 0 评论