公司有一个路由器统计页面,要求动态统计公司内访问量最多的 URL
的 Top N
。输入由 URL
和数字 N
组成,URL
表示访问的网页,数字 N
表示需要输出访问次数最高的 Top N
个 URL
,输出按照访问次数降序排列,如果访问次数相同,则按字典序升序排列。
URL
或一个正整数 N
。URL
,表示网页访问记录;如果是 N
,表示当前要输出的 Top N
个 URL
。5000
个,单个网页访问次数小于 65535
次;企业路由器的统计页面,有一个功能需要动态统计公司访问最多的网页 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 ;
输入
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
输入
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