刷题
文章平均质量分 74
moneymyone
不经历风雨,怎么迎接暴风雨。
展开
-
Leetcode | 560. 和为 K 的子数组
我们可以基于方法一利用数据结构进行进一步的优化,我们知道方法一的瓶颈在于对每个 iii,我们需要枚举所有的 jjj 来判断是否符合条件,这一步是否可以优化呢?所以我们考虑以 i 结尾的和为 k 的连续子数组个数时只要统计有多少个前缀和为。的计算只与前一项的答案有关,因此我们可以不用建立$ pre$ 数组,直接用。最后的答案即为所有下标结尾的和为 k的子数组个数之和。需要注意的是,从左往右边更新边计算的时候已经保证了。里记录的$ pre[j]$的下标范围是。,以和为键,出现次数为对应的值,记录。原创 2023-09-24 20:20:43 · 269 阅读 · 0 评论 -
Leetcode | 304. 二维区域和检索 - 矩阵不可变
【代码】Leetcode | 304. 二维区域和检索 - 矩阵不可变。原创 2023-09-22 12:15:28 · 305 阅读 · 0 评论 -
Leetcode | 303.区域和检索-数组不可变
欢迎关注公众号“三戒纪元”原创 2023-09-22 12:14:26 · 88 阅读 · 0 评论 -
Leetcode | 42.接雨水 Trapping Rain Water
这种方法是,只要柱子比前面高,就能计算一波,后面柱子更高时,再在此基础上继续计算积水量,这样边界就非常明显了。只有当前高度值比左右柱子最大高度小,才能接到雨水,如果当前柱子高度与左右最大高度柱子其中之一一样高,则跳过,说明当前柱子是后面低洼处的一个边界。只要2个蓝色的小方块中间有空白,就表示此处可以积水,积水量 +1,每一行计算完后,行数 + 1,继续遍历。还是注意一点,如果当前柱子高度同最大高度柱子高度一样,则不进行计算,或增加量为0。将所有的柱子,划分为2维空间里面,蓝色的为柱子,其他彩色为积水量。原创 2023-08-07 09:17:41 · 112 阅读 · 0 评论