蓝桥杯每日一题2023.10.30

题目描述

日志统计 - 蓝桥云课 (lanqiao.cn)

题目分析

本题可以使用双指针来维护时间段的区间,在维护的时间段内确定是否为热帖

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll; 
const int N = 2e5 + 10;
struct node
{
	int t, id;
}tiee[N];
int n, d, k, cnt[N];
set<int> st;
bool cmp(node a, node b)
{
	return a.t < b.t;
}
int main()
{
	cin >> n >> d >> k;
	for(int i = 1; i <= n; i ++)
	{
		cin >> tiee[i].t >> tiee[i].id;
	}
	sort(tiee + 1, tiee + 1 + n, cmp);
	for(int i = 1, j = 1; i <= n; i ++)
	{
		cnt[tiee[i].id] ++;//cnt[id]表示同一个id获赞数 
		while(tiee[i].t - tiee[j].t >= d)//两个帖子的时间相差超过d说明该赞无效 
		{
			cnt[tiee[j].id] --;//无效的id需要被减掉 
			j ++; 
		} 
		int x = tiee[i].id;
		if(cnt[tiee[i].id] >= k)st.insert(x);//set自动排序去重 
	}
	for(auto i : st)cout << i << '\n';
	return 0;
} 
相关推荐
求梦8201 天前
【力扣hot100题】旋转图像(15)
算法·leetcode·职场和发展
踩坑记录1 天前
leetcode hot100 11.盛最多水的容器 medium 双指针
算法·leetcode·职场和发展
码农水水1 天前
中国邮政Java面试:热点Key的探测和本地缓存方案
java·开发语言·windows·缓存·面试·职场和发展·kafka
a程序小傲1 天前
小红书Java面试被问:TCC事务的悬挂、空回滚问题解决方案
java·开发语言·人工智能·后端·python·面试·职场和发展
Geminit1 天前
无人机培训,蚂蚁智飞在线训练,AI赋能新培训/学习模式
职场和发展
X在敲AI代码1 天前
LeetCode 基础刷题D2
算法·leetcode·职场和发展
CCPC不拿奖不改名2 天前
数据处理与分析:数据可视化的面试习题
开发语言·python·信息可视化·面试·职场和发展
柒.梧.2 天前
SSM常见核心面试问题深度解析
java·spring·面试·职场和发展·mybatis
AlenTech2 天前
739. 每日温度 - 力扣(LeetCode)
算法·leetcode·职场和发展