日志统计 c++ unordered_map解题 滑动窗口
摘要:解题思路:map中键存储id 值存储时间,将所有的信息录入后对时间进行从小到大排序.遍历map,创建两个指针i=0,j=k-1,代表维护的滑动窗口的大小为k,当j指向的元素减去i指向的元素的结果小于等……
蓝桥杯2018年第九届真题-日志统计
摘要:很坑,但凡一处处理不好,就超时==
```cpp
#include
#include
#include
#include
#include
using namespace std;
s……
蓝桥杯2018年第九届真题-日志统计(排序 + 双指针)
摘要:####解题思路
1.把“点赞”日志按 ts 时间从小到大排序。
2.用 i 和 j 指针维护区间 [T, T+D) 。
3.记录区间 [T, T+D) 点赞数。
####参考代码
``……
2279: 蓝桥杯2018年第九届真题-日志统计(Java写法) 里面代码每行都有详细的解释,相信可以帮助你看懂
摘要:解题思路:注意事项:这里我写的尺取法可能有点不一样,但是整体思想是差不多的,这里写的就是每次当前ID在这个时间段有没有出现K次,多了也不用管,直接输出,题目说得从小到大,我试了一下好像不用,不过影响也……
蓝桥杯2018年第九届真题-日志统计-JAVA双指针-分情况讨论
摘要:用一**个Map来存储输入的数据,以热帖id为键,被点赞的时刻用一个List保存起来做值**,便于后续判断该帖子是否为热帖
存储完输入数据后,分别**对每个键对应的List从大到小排序,再遍历**,……
蓝桥杯2018年第九届真题-日志统计(复杂度O(nlogn))
摘要:解题思路:首先记录每个日志的点赞时间,对每个日志的时间排序后,直接判断当前点赞时间和后k个时间是否差值小于d。注意事项:复杂度O(nlogn)参考代码:#include<bits/stdc++.h>
……
双指针,从输入的角度出发,sort刷一遍,在d时间段内找到获赞数符合条件的id,双指针来处理其中重复的操作,使得每次只会++,比多重循环减少了大量时间,由哦(n2)减少到接近o(n)
摘要:
```
#include
#define int long long
#define x first
#define y second
using namespace std;
……
蓝桥杯2018年第九届真题-日志统计
摘要:参考代码:#include<bits/stdc++.h>
using namespace std;
struct node
{
int t,id;
}x[100005],t;
bool ……