一个空间做2个网站吗,东营做网站tt0546,wordPress回复表情,餐饮企业网站模板题目描述
小明维护着一个程序员论坛。现在他收集了一份点赞日志#xff0c;日志共有N行。其中每一行的格式是#xff1a;
ts id
表示在ts时刻编号id的帖子收到一个赞。
现在小明想统计有哪些帖子曾经是热帖。如果一个帖子曾在任意一个长…题目描述
小明维护着一个程序员论坛。现在他收集了一份点赞日志日志共有N行。其中每一行的格式是
ts id
表示在ts时刻编号id的帖子收到一个赞。
现在小明想统计有哪些帖子曾经是热帖。如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞小明就认为这个帖子曾是热帖。
具体来说如果存在某个时刻T满足该帖在[T, TD)这段时间内(注意是左闭右开区间)收到不少于K个赞该帖就曾是热帖。
给定日志请你帮助小明统计出所有曾是热帖的帖子编号。
【输入格式】
第一行包含三个整数N、D和K。
以下N行每行一条日志包含两个整数ts和id。
对于50%的数据1 K N 1000
对于100%的数据1 K N 100000 0 ts 100000 0 id 100000
【输出格式】
按从小到大的顺序输出热帖id。每个id一行。
【输入样例】
7 10 2
0 1
0 10
10 10
10 1
9 1
100 3
100 3
【输出样例】
1
3
资源约定
峰值内存消耗含虚拟机 256M
CPU消耗 1000ms思路分析
Map的key保存编号value就用ArrayList保存
代码实现
package lanqiao;import java.util.*;
public class Main{public static void main(String[] args) {Scanner scnew Scanner(System.in);int Nsc.nextInt();int Dsc.nextInt();int Ksc.nextInt();MapInteger,Listmapnew HashMap();for(int i0;iN;i) {int valuesc.nextInt();int keysc.nextInt();if(map.get(key)null) {ListIntegerlist new ArrayList();list.add(value);map.put(key, list);}else {map.get(key).add(value);}}for(Integer key : map.keySet()) {ListIntegerlist map.get(key);int sizelist.size();if(sizeK)break;Collections.sort(list);int likes1,maxLikes1;for(int i0;isize-1;i){for(int ji1;jsize;j) {if(list.get(j)-list.get(i)D) {likes;}}maxLikesMath.max(maxLikes, likes);}if(maxLikesK)System.out.println(key);}}
}