个人的codetop刷题记录
无
weixin_38209292
这个作者很懒,什么都没留下…
展开
-
236. 二叉树的最近公共祖先
【代码】236. 二叉树的最近公共祖先。原创 2023-04-11 08:33:01 · 79 阅读 · 0 评论 -
leedcode10|102. 二叉树的层序遍历
【代码】leedcode10|102. 二叉树的层序遍历。原创 2023-04-10 08:18:48 · 89 阅读 · 0 评论 -
23. 合并 K 个升序链表(暴力法/优先级队列)
需要维护当前每个链表没有被合并的元素的最前面一个,k 个链表就最多有k 个满足这样条件的元素,每次在这些元素里面选取val 属性最小的元素合并到答案中。在选取最小元素的时候,我们可以用优先队列来优化这个过程。怎么根据Comparable方法中的compareTo方法的返回值的正负 判断升序 还是 降序?23.合并 K 个升序链表。方法二:用优先级队列。原创 2023-04-09 11:15:57 · 60 阅读 · 0 评论 -
33.搜索旋转排序数组(二分搜索)
33.搜索旋转排序数组。原创 2023-04-08 09:16:40 · 28 阅读 · 0 评论 -
21. 合并两个有序链表
【代码】912. 排序数组。原创 2023-04-07 08:32:41 · 44 阅读 · 0 评论 -
codetop7|912. 排序数组(普通快排会超时)
快排的优化:https://leetcode.cn/problems/sort-an-array/solution/kuai-su-pai-xu-you-hua-zhen-dui-duo-zhon-ryq4/原创 2023-04-06 10:32:07 · 77 阅读 · 0 评论 -
15、三数之和(利用双指针(三指针)))
关键字:不可以包含重复。原创 2023-04-05 09:31:48 · 41 阅读 · 0 评论 -
DAY5|215.数组中的第K个最大元素(匿名内部类,调用库函数实现大顶堆,动手实现大顶堆以及堆排序)
方法三 大顶堆https://leetcode.cn/problems/kth-largest-element-in-an-array/solution/215-shu-zu-zhong-de-di-kge-zui-da-yuan-s-2zkk/spm_id_from=autoNext&vd_source=755fa867364448953d97aa99efa2ec41。模式识别(使用方法):维护动态数据的最大最小值,可以考虑堆。建立容量为K的小顶堆(里面维护k个最大值)215.数组中的第K个最大元素。原创 2023-04-04 13:50:21 · 45 阅读 · 0 评论 -
codetop第4题 25. K 个一组翻转链表
【代码】codetop第4题 25. K 个一组翻转链表。原创 2023-04-03 15:58:24 · 36 阅读 · 0 评论 -
DAY63|3. 无重复字符的最长子串(滑动窗口(用左右指针来实现)、散列表)
通过关键字进行模式识别(选择什么方法)1:一旦涉及出现次数就需要用到散列表(通常出现的字符作为键,次数作为值)如何进行测试 测试的时候可以把每个子串的起始位置left 和终止位置right表示出来。逐个生成子串可以两层for循环 第一个遍历起始字符,第二个遍历终止字符。3.无重复字符的最长子串。m为可能出现的所有字符数。原创 2023-04-01 15:23:03 · 29 阅读 · 0 评论 -
DAY62|206反转链表(方法:双指针(三指针,有个temp暂存cur.next),超级简单 必会!!不要想复杂了)
【代码】DAY62|206反转链表(方法:双指针(三指针,有个temp暂存cur.next),超级简单 必会!!不要想复杂了)原创 2023-03-31 08:04:07 · 29 阅读 · 0 评论 -
DAY61|LRU缓存
将一个节点移到双向链表的头部,可以分成「删除该节点」和「在双向链表的头部添加节点」两步操作,都可以在O(1)时间内完成。存储了这些键值对,靠近头部的键值对是最近使用的,而靠近尾部的键值对是最久未使用的。在双向链表的头部添加节点、在双向链表的尾部删除节点的复杂度也为O(1)即为普通的哈希映射(HashMap),通过缓存数据的键映。关键:维护两个表,双向链表负责插入删除;访问哈希表的时间复杂度为O(1)(本题用链表因为插入方便)要求有出入顺序:首先想到。原创 2023-03-30 09:38:24 · 110 阅读 · 0 评论