摘要:
感觉是简单最小堆题目,不知道为啥 leetcode 评级是 hard。以及,因为 python list 排序很快,所以也可直接把链表上所有元素拿下来,排序,再构建全新链表。 阅读全文
posted @ 2026-03-03 23:21
MoonOut
阅读(82)
评论(0)
推荐(0)
摘要:
利用数组 1 末尾的空闲空间,使用从后向前的双指针,遍历数组 1 2 。 阅读全文
posted @ 2026-03-03 23:04
MoonOut
阅读(126)
评论(0)
推荐(0)
摘要:
二分查找:第 K 小的元素是多大呢?在有序矩阵中,给定一个数值,只需要 o(n) 复杂度,就可以得到 ≤ 它的元素的数量。因此,时间复杂度为 二分的 o(log 值域大小) × 查找的 o(n)。 阅读全文
posted @ 2026-03-03 23:00
MoonOut
阅读(111)
评论(0)
推荐(0)
摘要:
经典的 o(n) 做法,是通过类似快排的 partition pivot 操作,递归寻找第 k 大的数;然而思路四更加简洁优雅,时间复杂度也是 o(n) 的。 阅读全文
posted @ 2026-03-03 22:37
MoonOut
阅读(276)
评论(0)
推荐(0)
摘要:
先排序,然后固定数字 1,双指针法搜索数字 2 3,注意要把重复的数字 2 3 去除。 阅读全文
posted @ 2026-03-03 17:04
MoonOut
阅读(220)
评论(0)
推荐(0)
摘要:
使用 python 的 dict 存储 "字符: 出现位置" 的映射。 阅读全文
posted @ 2026-03-03 16:49
MoonOut
阅读(251)
评论(0)
推荐(0)
摘要:
第一次用 python 写记忆化搜索,用 dict 写起来很方便,思路也很清晰。 阅读全文
posted @ 2026-03-03 15:26
MoonOut
阅读(47)
评论(0)
推荐(0)
摘要:
如果认为判断一个 word 是否在 set 里是 o(1) 的,则 dp 方法的时间复杂度是 o(n²)。不过,集合判断操作的时间复杂度实际是 o(n) 的,所以总时间复杂度是 o(n³)。 阅读全文
posted @ 2026-03-03 15:17
MoonOut
阅读(57)
评论(0)
推荐(0)
摘要:
又一个 dp 基础题。 阅读全文
posted @ 2026-03-03 15:08
MoonOut
阅读(90)
评论(0)
推荐(0)
摘要:
这一题比上一题(1143)更简单,使用 dp 可以轻松解决。滑动窗口匹配法的空间复杂度更低,但时间复杂度略高。 阅读全文
posted @ 2026-03-03 11:26
MoonOut
阅读(47)
评论(0)
推荐(0)
摘要:
这是一道经典的 dp 题。进一步,可以通过滚动数组,将空间复杂度从 o(mn) 优化到 o(m)。 阅读全文
posted @ 2026-03-03 11:14
MoonOut
阅读(123)
评论(0)
推荐(0)
摘要:
3D 接雨水和 2D 接雨水的思路很像:2D 接雨水的双指针,从左右向中间包围,3D 接雨水则是从四周形成一个圈,向中间包围。 阅读全文
posted @ 2026-03-03 10:43
MoonOut
阅读(147)
评论(0)
推荐(0)
摘要:
双指针法中,左右指针分别从最左最右向中间移动,时间复杂度 o(n),空间复杂度 o(1)。 阅读全文
posted @ 2026-03-03 10:28
MoonOut
阅读(325)
评论(2)
推荐(0)
摘要:
自存档。 阅读全文
posted @ 2026-03-03 10:22
MoonOut
阅读(42)
评论(0)
推荐(0)

浙公网安备 33010602011771号