传送门:
题意:
给长度为 n 的序列 和 限制值 k,求最长的子区间,子区间满足区间中任意两个数的差的绝对值不大于k
思路:
双单调队列,一个维护当前区间最大,一个维护当前区间最小,如果当前区间最大-最小满足条件,呢么当前区间整体满足条件,否则让单调队列中的除去当前存在的左端点即可
参考代码:
mb5c5a77ee6227c 博主文章分类:ACM刷题题解 ©著作权
传送门:
题意:
给长度为 n 的序列 和 限制值 k,求最长的子区间,子区间满足区间中任意两个数的差的绝对值不大于k
思路:
双单调队列,一个维护当前区间最大,一个维护当前区间最小,如果当前区间最大-最小满足条件,呢么当前区间整体满足条件,否则让单调队列中的除去当前存在的左端点即可
参考代码:
下一篇:bbb的快读模板
这个题和ums[i] < minn) { minn = nums[i]; }
判断前一位数(i-1)在不在字典中是这道题的关键之处,这样做之后可以避免重复查找,从而达到O(n) 的时间复杂度。如果没有这个判断,那么时间复杂度最坏就是O(N^2)级别了。
截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载下载链接:https://pan
数组中的最长连续子序列
Java集合03 ArrayList简析1 ArrayList说明1.1 ArrayList简介ArrayList继承关系1.2 ArrayList数据结构1.3 ArrayList构造函数1.4 ArrayList的API2 ArrayList常用操作2.1 ArrayList遍历2.2 ArrayList排序2.3 ArrayList删除元素3 ArrayList部分方法源码(基于JDK1.
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M