【编程题目 |200分】热点网站统计【2022 Q2考试题】


时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++262144K,其他语言524288K

64bit IO Format:%lld


本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,

编码后请点击”保存并调试“按钮进行代码提交。


题目描述

【热点网站统计】

企业路由器的统计页面,有一个功能需要动态统计公司访问最多的网页URL top N。请设计一个算法,可以高效动态统计Top N的页面。

输入描述

每一行都是一个URL或一个数字,如果是URL,代表一段时间内的网页访问;
如果是一个数字N,代表本次需要输出的Top N个URL。

输入约束

1、总访问网页数量小于5000个,单网页访问次数小于65535次;
2、网页URL仅由字母,数字和点分隔符组成,且长度小于等于127字节;
3、数字是正整数,小于等于10且小于当前总访问网页数;

输出描述

每行输入要对应一行输出,输出按访问次数排序的前N个URL,用逗号分隔。

输出要求

1、每次输出要统计之前所有输入,不仅是本次输入;
2、如果有访问次数相等的URL,按URL的字符串字典序升序排列,输出排序靠前的URL

示例1   输入输出示例仅供调试,后台判题数据一般不包含示例

输入

news.qq.com
news.sina.com.cn
news.qq.com
news.qq.com
game.163.com
game.163.com
www.huawei.com
www.cctv.com
3
www.huawei.com
www.cctv.com
www.huawei.com
www.cctv.com
www.huawei.com
www.cctv.com
www.huawei.com
www.cctv.com
www.huawei.com
3

输出

news.qq.com,game.163.com,news.sina.com.cn
www.huawei.com,www.cctv.com,news.qq.com

示例2   输入输出示例仅供调试,后台判题数据一般不包含示例

输入

news.qq.com
www.cctv.com
1
www.huawei.com
www.huawei.com
2
3

输出

news.qq.com
www.huawei.com,news.qq.com
www.huawei.com,news.qq.com,www.cctv.com


C++


#include <bits/stdc++.h>

using namespace std;

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:10金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JAVA解法一


import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class TopNWebsite {

    public static void main(String[] args) {

        List<String> urls = new ArrayList<>();

        List<Integer> counts = new ArrayList<>();

        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()) {

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:10金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看


JAVA解法二


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:10金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JavaScript


let map = new Map();

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:10金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python


import collections
import sys

urls = []

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:10金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看