随笔分类 -  算法刷题笔记

摘要:/** * 整体解题思路如下: * 1. 首先,在高度数组中找到最高柱子的索引。因为最高柱子会把数组分为左右两部分, * 后续分别从左右两侧向最高柱子进行遍历计算雨水量。 * 2. 从左到右遍历到最高柱子的左边部分: * - 维护一个变量 last 来记录当前遍历区间内的最大高度的柱子索引。 * - 阅读全文
posted @ 2025-05-07 21:57 Zero&&One 阅读(25) 评论(0) 推荐(0)
摘要:设 mx=max(nums)。 右端点 right 从左到右遍历 nums。遍历到元素 x=nums[right] 时,如果 x=mx,就把计数器 cntMx 加一。 如果此时 cntMx=k,则不断右移左指针 left,直到窗口内的 mx 的出现次数小于 k 为止。此时,对于右端点为 right 阅读全文
posted @ 2025-03-17 13:04 Zero&&One 阅读(46) 评论(0) 推荐(0)
摘要:解题思路 从小到大枚举子串右端点 right,同时用哈希表/数组统计每种字母的出现次数。如果子串符合要求(三种字母都至少出现一次),则右移左端点 left,直到不符合要求为止。 滑动窗口的内层循环结束时,右端点固定在 right,左端点在 0,1,2,…,left−1 的所有子串都是合法的,这一共有 阅读全文
posted @ 2025-03-16 22:06 Zero&&One 阅读(22) 评论(0) 推荐(0)