济宁网站建设制作设计,开发商虚假宣传是否构成欺诈,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 1000000 ts 100000 0 id 100000 【输出格式】 按从小到大的顺序输出热帖id。每个id一行。 【输入样例】 7 10 20 10 1010 1010 19 1100 3100 3 【输出样例】 1 3 资源约定 峰值内存消耗含虚拟机 256M CPU消耗 1000ms 请严格按要求输出不要画蛇添足地打印类似“请您输入…” 的多余内容。 所有代码放在同一个源文件中调试通过后拷贝提交该源码。 不要使用package语句。不要使用jdk1.7及以上版本的特性。主类的名字必须是Main否则按无效代码处理。思路利用map将每个id的获赞时间分类通过循环获赞时间查看此id是否为热帖 1 package a;2 3 import java.util.ArrayList;4 import java.util.Arrays;5 import java.util.HashMap;6 import java.util.Iterator;7 import java.util.List;8 import java.util.Map;9 import java.util.Scanner;
10
11 public class test {
12 public static void main(String[] args) {
13 Scanner in new Scanner(System.in);
14 int n in.nextInt();
15 int d in.nextInt();
16 int k in.nextInt();
17 // 通过id对获赞时间分类
18 MapInteger, String map new HashMapInteger, String();
19 for(int i0; in; i) {
20 int ts in.nextInt();
21 int id in.nextInt();
22 map.put(id, map.getOrDefault(id, ),ts);
23 }
24 // 热帖id
25 ListInteger host new ArrayListInteger();
26 // 对每个id进行处理
27 IteratorInteger iter map.keySet().iterator();
28 while(iter.hasNext()) {
29 int id iter.next();
30 // 将时间序列转化为整数类型
31 String[] s map.get(id).split(,);
32 int[] new_s new int[s.length-1];
33 for(int i0; is.length-1; i) {
34 new_s[i] Integer.parseInt(s[i1]);
35 }
36 // 由于得到的获赞时间无序首先进行排序
37 Arrays.sort(new_s);
38 // 进行判断i和j控制热帖的获赞数
39 for(int ik-1, j0; inew_s.length; i,j) {
40 if(new_s[i]-new_s[j]d !host.contains(id)) {
41 host.add(id);
42 System.out.println(id);
43 }
44 }
45
46 }
47 in.close();
48 }
49 } 转载于:https://www.cnblogs.com/tianyahai/p/10485149.html