日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2018蓝桥杯省赛---java---B---8(日志统计)

發布時間:2023/12/3 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2018蓝桥杯省赛---java---B---8(日志统计) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述

小明維護著一個程序員論壇?,F在他收集了一份"點贊"日志,日志共有N行。其中每一行的格式是: ts id 表示在ts時刻編號id的帖子收到一個"贊"。 現在小明想統計有哪些帖子曾經是"熱帖"。如果一個帖子曾在任意一個長度為D的時間段內收到不少于K個贊,小明就認為這個帖子曾是"熱帖"。 具體來說,如果存在某個時刻T滿足該帖在[T, T+D)這段時間內(注意是左閉右開區間)收到不少于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 sc=new Scanner(System.in);int N=sc.nextInt();int D=sc.nextInt();int K=sc.nextInt();Map<Integer,List>map=new HashMap<>();for(int i=0;i<N;i++) {int value=sc.nextInt();int key=sc.nextInt();if(map.get(key)==null) {List<Integer>list = new ArrayList<>();list.add(value);map.put(key, list);}else {map.get(key).add(value);}}for(Integer key : map.keySet()) {List<Integer>list =map.get(key);int size=list.size();if(size<K)break;Collections.sort(list);int likes=1,maxLikes=1;for(int i=0;i<size-1;i++){for(int j=i+1;j<size;j++) {if(list.get(j)-list.get(i)<D) {likes++;}}maxLikes=Math.max(maxLikes, likes);}if(maxLikes>=K)System.out.println(key);}} }

總結

以上是生活随笔為你收集整理的2018蓝桥杯省赛---java---B---8(日志统计)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。