随笔分类 -  LeetCode

摘要:题目链接 662. 二叉树最大宽度 思路 BFS+层次遍历 题解链接 官方题解 关键点 与传统层次遍历的差异点:为节点进行编码,最大宽度为队列中最后节点与最初节点之间的节点数量 时间复杂度 O(n) 空间复杂度 O(n) 代码实现: class Solution: def width 阅读全文
posted @ 2024-09-24 15:16 WrRan 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题目链接 3171. 找到按位或最接近 K 的子数组 思路 双循环+位运算性质剪枝 题解链接 利用 OR 的性质(Python/Java/C++/Go) 关键点 识别到OR运算的性质;从而保证双层循环时复杂度可控 时间复杂度 O(nlogmaxv) 空间复杂度 O(1) 代码实现 阅读全文
posted @ 2024-09-24 14:59 WrRan 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题目链接 3170. 删除星号以后字典序最小的字符串 思路 堆栈 & 位运算 题解链接 三种写法:26 个栈+位运算优化(Python/Java/C++/Go) 关键点 1. 用堆栈跟踪各个字母出现的位置 2. 用位运算跟踪当前最小字母(lowbit技巧) 时间复杂度 朴素做法:\(O(n\vert 阅读全文
posted @ 2024-09-24 14:57 WrRan 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目链接 3169. 无需开会的工作日 思路 排序 题解链接 Wiki 关键点 无 时间复杂度 O(nlogn) 空间复杂度 O(1) 代码实现: class Solution: def countDays(self, days: int, meetings: List[List 阅读全文
posted @ 2024-09-24 14:51 WrRan 阅读(5) 评论(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 阅读(5) 评论(0) 推荐(0) 编辑
摘要:题目链接 3298. 统计重新排列后包含另一个字符串的子字符串数目 II 思路 滑动窗口 题解链接 O(n) 滑动窗口求个数(Python/Java/C++/Go) 关键点 1. LeetCode-76版本的升级题 2. 内循环中如何统计数量 时间复杂度 O(n+|Σ|) 空间复杂 阅读全文
posted @ 2024-09-24 00:27 WrRan 阅读(11) 评论(0) 推荐(0) 编辑
摘要:题目链接 3297. 统计重新排列后包含另一个字符串的子字符串数目 I 思路 滑动窗口 题解链接 O(n) 滑动窗口求个数(Python/Java/C++/Go) 关键点 1. LeetCode-76版本的升级题 2. 内循环中如何统计数量 时间复杂度 O(n+|Σ|) 空间复杂度 阅读全文
posted @ 2024-09-24 00:26 WrRan 阅读(27) 评论(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 阅读(8) 评论(0) 推荐(0) 编辑
摘要:题目链接 76. 最小覆盖子串 思路 滑动窗口 题解链接 两种方法:从 O(52m+n) 到 O(m+n),附题单(Python/Java/C++/C/Go/JS/Rust) 关键点 如何跟踪子串与目标串的差距量(即less) 时间复杂度 O(n+m) 空间复杂度 \(O(|\Sigma|) 阅读全文
posted @ 2024-09-23 23:56 WrRan 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目链接 136. 只出现一次的数字 思路 位运算-异或的性质 题解链接 O(n) 一次遍历,附题单!(Python/Java/C++/Go/JS/Rust) 关键点 aa=0 时间复杂度 O(n) 空间复杂度 O(1) 代码实现: class Solut 阅读全文
posted @ 2024-09-19 00:04 WrRan 阅读(3) 评论(0) 推荐(0) 编辑
摘要:题目链接 2321. 拼接数组的最大分数 思路 最大子数组和-变体 题解链接 转换成最大子数组和(Python/Java/C++/Go) 关键点 无 时间复杂度 O(n) 空间复杂度 O(1) 代码实现: class Solution: def maximumsSplicedArra 阅读全文
posted @ 2024-09-18 23:18 WrRan 阅读(5) 评论(0) 推荐(0) 编辑
摘要:题目链接 152. 乘积最大子数组 思路 最大子数组和-简单变体 题解链接 动态规划 关键点 无 时间复杂度 O(n) 空间复杂度 O(1) 代码实现: class Solution: def maxProduct(self, nums: List[int]) -> int: ans 阅读全文
posted @ 2024-09-18 23:15 WrRan 阅读(5) 评论(0) 推荐(0) 编辑
摘要:题目链接 918. 环形子数组的最大和 思路 最大子数组和-简单变体 题解链接 没有思路?一张图秒懂!(Python/Java/C++/Go/JS) 关键点 无 时间复杂度 O(n) 空间复杂度 O(1) 代码实现: class Solution: def maxSubarraySu 阅读全文
posted @ 2024-09-18 23:11 WrRan 阅读(3) 评论(0) 推荐(0) 编辑
摘要:题目链接 1191. K 次串联后最大子数组之和 思路 前缀和/动态规划-最大子数组和-简单变体 题解链接 dp做法正确性的详细证明(图帮助理解) 关键点 分情况讨论(k2):1. 序列和小于0 2. 序列和大于等于0 时间复杂度 O(n) 空间复杂度 O(1) 代码实 阅读全文
posted @ 2024-09-18 23:06 WrRan 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题目链接 1749. 任意子数组和的绝对值的最大值 思路 前缀和/动态规划-最大子数组和-简单变体 题解链接 两种方法:动态规划/前缀和(附题单!Python/Java/C++/Go/JS) 关键点 无 时间复杂度 O(n) 空间复杂度 O(1) 代码实现(动态规划): class 阅读全文
posted @ 2024-09-18 22:14 WrRan 阅读(3) 评论(0) 推荐(0) 编辑
摘要:题目链接 2606. 找到最大开销的子字符串 思路 前缀和/动态规划-最长子数组和-简单变体 题解链接 【转换】最大子数组和(Python/Java/C++/Go) 关键点 无 时间复杂度 O(n) 空间复杂度 O(1) 代码实现(动态规划): class Solution: def 阅读全文
posted @ 2024-09-18 22:09 WrRan 阅读(3) 评论(0) 推荐(0) 编辑
摘要:题目链接 53. 最大子数组和 思路 1. 前缀和 2. 动态规划 题解链接 两种方法:前缀和/动态规划(Python/Java/C++/C/Go/JS/Rust) 关键点 无 时间复杂度 O(n) 空间复杂度 O(1) 代码实现(前缀和): class Solution: def 阅读全文
posted @ 2024-09-18 22:00 WrRan 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目链接 3186. 施咒的最大总伤害 思路 动态规划-打家劫舍(值域版)-简单变体 题解链接 【套路】值域打家劫舍(Python/Java/C++/Go) 关键点 1. 排序 2. 对可选数字进行“打家劫舍” 时间复杂度 O(nlogn) 空间复杂度 O(n) 代码实现: cl 阅读全文
posted @ 2024-09-18 21:55 WrRan 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题目链接 213. 打家劫舍 II 思路 动态规划-打家劫舍-简单变体 题解链接 简洁写法!直接调用 198 题代码!(Python/Java/C++/Go/JS/Rust) 关键点 可以分为两种情况讨论:1. 选第一个位置 2. 不选第一个位置 时间复杂度 O(n) 空间复杂度 \(O(1 阅读全文
posted @ 2024-09-18 21:50 WrRan 阅读(3) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示