摘要: 题目链接 662. 二叉树最大宽度 思路 BFS+层次遍历 题解链接 官方题解 关键点 与传统层次遍历的差异点:为节点进行编码,最大宽度为队列中最后节点与最初节点之间的节点数量 时间复杂度 \(O(n)\) 空间复杂度 \(O(n)\) 代码实现: class Solution: def width 阅读全文
posted @ 2024-09-24 15:16 WrRan 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 题目链接 3171. 找到按位或最接近 K 的子数组 思路 双循环+位运算性质剪枝 题解链接 利用 OR 的性质(Python/Java/C++/Go) 关键点 识别到OR运算的性质;从而保证双层循环时复杂度可控 时间复杂度 \(O(n\log maxv)\) 空间复杂度 \(O(1)\) 代码实现 阅读全文
posted @ 2024-09-24 14:59 WrRan 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 题目链接 3170. 删除星号以后字典序最小的字符串 思路 堆栈 & 位运算 题解链接 三种写法:26 个栈+位运算优化(Python/Java/C++/Go) 关键点 1. 用堆栈跟踪各个字母出现的位置 2. 用位运算跟踪当前最小字母(lowbit技巧) 时间复杂度 朴素做法:\(O(n\vert 阅读全文
posted @ 2024-09-24 14:57 WrRan 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目链接 3169. 无需开会的工作日 思路 排序 题解链接 Wiki 关键点 无 时间复杂度 \(O(n\log n)\) 空间复杂度 \(O(1)\) 代码实现: class Solution: def countDays(self, days: int, meetings: List[List 阅读全文
posted @ 2024-09-24 14:51 WrRan 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目链接 3168. 候诊室中的最少椅子数 思路 简单模拟 题解链接 Wiki 关键点 无 时间复杂度 \(O(n)\) 空间复杂度 \(O(1)\) 代码实现: class Solution: def minimumChairs(self, s: str) -> int: answer = 0 r 阅读全文
posted @ 2024-09-24 14:49 WrRan 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目链接 3298. 统计重新排列后包含另一个字符串的子字符串数目 II 思路 滑动窗口 题解链接 O(n) 滑动窗口求个数(Python/Java/C++/Go) 关键点 1. LeetCode-76版本的升级题 2. 内循环中如何统计数量 时间复杂度 \(O(n+|\Sigma|)\) 空间复杂 阅读全文
posted @ 2024-09-24 00:27 WrRan 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目链接 3297. 统计重新排列后包含另一个字符串的子字符串数目 I 思路 滑动窗口 题解链接 O(n) 滑动窗口求个数(Python/Java/C++/Go) 关键点 1. LeetCode-76版本的升级题 2. 内循环中如何统计数量 时间复杂度 \(O(n+|\Sigma|)\) 空间复杂度 阅读全文
posted @ 2024-09-24 00:26 WrRan 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 题目链接 3296. 移山所需的最少秒数 思路 问题求解中的值存在“单调性”,可以二分查找 题解链接 1. 两种方法:最小堆模拟/二分答案(Python/Java/C++/Go) 2. Wiki 关键点 1. 确定可二分 2. 根据时间\(t\),得出下降的高度\(h\) 3. 确定二分范围 时间复 阅读全文
posted @ 2024-09-24 00:18 WrRan 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 题目链接 3295. 举报垃圾信息 思路 简单模拟即可 题解链接 哈希集合,简洁写法(Python/Java/C++/Go) 关键点 无 时间复杂度 \(O(n)\) 空间复杂度 \(O(n)\) 代码实现: class Solution: def reportSpam(self, message: 阅读全文
posted @ 2024-09-24 00:00 WrRan 阅读(6) 评论(0) 推荐(0) 编辑