![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
双指针
小王子y
互关啊!!
展开
-
第九届蓝桥杯省赛C++B组 日志统计(双指针滑动窗口巧妙)
小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有 NN 行。其中每一行的格式是:ts id表示在 ts 时刻编号 id 的帖子收到一个”赞”。现在小明想统计有哪些帖子曾经是”热帖”。如果一个帖子曾在任意一个长度为 DD 的时间段内收到不少于 KK 个赞,小明就认为这个帖子曾是”热帖”。具体来说,如果存在某个时刻 TT 满足该帖在 [T,T+D) 这段时间内(注意是左闭右开区间)收到不少于 K 个赞,该帖就曾是”热帖”。给定日志,请你帮助小明统计出所有曾是”热帖”的帖子编号。输原创 2020-12-21 16:10:13 · 191 阅读 · 0 评论 -
判断子序列(双指针做法)
给定一个长度为 nn 的整数序列 a1,a2,…,ana1,a2,…,an 以及一个长度为 mm 的整数序列 b1,b2,…,bmb1,b2,…,bm。请你判断 aa 序列是否为 bb 序列的子序列。子序列指序列的一部分项按原有次序排列而得的序列,例如序列 {a1,a3,a5}{a1,a3,a5} 是序列 {a1,a2,a3,a4,a5}{a1,a2,a3,a4,a5} 的一个子序列。输入格式第一行包含两个整数 n,mn,m。第二行包含 nn 个整数,表示 a1,a2,…,ana1,a2,…,an原创 2020-12-17 23:39:05 · 538 阅读 · 0 评论 -
最长连续不重复子序列(注意连续!双指针做法详解)
给定一个长度为n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。输入格式第一行包含整数n。第二行包含n个整数(均在0~100000范围内),表示整数序列。输出格式共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。数据范围1≤n≤1000001≤n≤100000输入样例:51 2 2 3 5输出样例:3核心思路:遍历数组a中的每一个元素a[i], 对于每一个i,找到j使得双指针[j, i]维护的是以a[i]结尾的最长连续不重复子序列,长度为i -原创 2020-11-14 23:24:39 · 942 阅读 · 0 评论 -
数组元素的目标和(双指针模板题)
给定两个升序排序的有序数组A和B,以及一个目标值x。数组下标从0开始。请你求出满足A[i] + B[j] = x的数对(i, j)。数据保证有唯一解。输入格式第一行包含三个整数n,m,x,分别表示A的长度,B的长度以及目标值x。第二行包含n个整数,表示数组A。第三行包含m个整数,表示数组B。输出格式共一行,包含两个整数 i 和 j。数据范围数组长度不超过100000。同一数组内元素各不相同。1≤数组元素≤1091≤数组元素≤109输入样例:4 5 61 2 4 73 4 6原创 2020-11-14 22:35:20 · 405 阅读 · 0 评论