随笔分类 -  leetcode-题目分类

摘要:题目描述 数组points在x轴上是严格单调增,需要求一个不等式x1 + y2 + x2 - x1的最大值?要求是x2-x1不能超过k f1-分析不等式+单调队列 基本分析 怎么能让值最大?对当前x2和y2来说,在满足x2-x1<=k的区间,需要有y1-x1最大 怎么维护以上最大值?单调队列 代码 阅读全文
posted @ 2023-03-17 10:31 zhangk1988 阅读(22) 评论(0) 推荐(0)
摘要:题目描述 数组是整数数组,需要找最长的连续子数组长度。要求是子数组内的最大值-最小值<=limit f1- 双指针+单调队列 基本分析 求最长连续子数组长度考虑什么框架?双指针 怎么维护区间内的最大值和最小值?定义两个单调队列,分别维护最大值和最小值 双指针怎么移动?r每次向右移动一个,这个时候判断 阅读全文
posted @ 2023-03-16 20:17 zhangk1988 阅读(16) 评论(0) 推荐(0)
摘要:题目描述 数组值可以是负,需要返回一个非空的子序列和的最大值。其中对子序列的要求是相邻两个元素的原始下标不能超过k f1- dp+单调队列优化 基本分析 1.怎么联想到dp?对某个i来说,不考虑之前的,那么就是num[i], 考虑之前的就是需要在i-k到i-1之间找一个最大的f[j]值,f[i] = 阅读全文
posted @ 2023-03-16 19:28 zhangk1988 阅读(31) 评论(0) 推荐(0)
摘要:题目描述 数组是环形数组,且含有负数,求一个子数组,具有最大和 f1-单调队列 基本分析 怎么处理环?破环成链,将n的环展开成2*n的链,在不超过n的窗口内遍历 之后怎么做?在2*n的数组上计算长度不超过n的子数组的最大和,用单调队列就行 为啥弹出的条件是i-q[0] > n , 等于不行?当前遍历 阅读全文
posted @ 2023-03-16 17:27 zhangk1988 阅读(23) 评论(0) 推荐(0)
摘要:题目描述 数组含有负数,求一个最短子数组,子数组的和>=k f1-单调队列 基本分析 子数组和的问题怎么优化?前缀和 相比于暴力去枚举,可以有哪两个思路优化?用一个数据结构来存可能的前缀,(1)过河拆桥,如果一个前缀值满足了条件,那么他不用再考虑了,从前面弹出;(2)后浪更迭,当前遍历到的值<= 尾 阅读全文
posted @ 2023-03-16 15:52 zhangk1988 阅读(39) 评论(0) 推荐(0)
摘要:题目描述 滑动窗口的长度是k,每次右移一位,需要返回窗口中的最大值 f1-单调队列 基本分析 维护值还是索引?索引可以判断队头是否离开,是更好的选择 0-k-1的窗口怎么维护?只是执行while弹出队尾+追加i的操作,不考虑删除队头 k-n-1的遍历中注意什么?队尾中弹出<nums[i]的索引;追加 阅读全文
posted @ 2023-03-16 11:55 zhangk1988 阅读(19) 评论(0) 推荐(0)