题目:
输入多个8位的id加城市的名字,23112411-beijing 这样,然后统计签到人数前三个城市,同一个ID城市多次签到同一个城市只记一次,次数相同时,则按城市首字母顺序排列。
示例:
输入:

34839946-beijing
34839934-beijing
34839946-beijing
34839946-shanghai
34839912-hangzhou
-1

输出:

city=beijing, citycount=2
city=hangzhou, citycount=1
city=shanghai, citycount=1

思路:
输入时通过一个HashMap将重复签到的数据过滤,然后再利用一个HashMap统计所有城市的签到次数,最后将HashMap中的数据排序。排序有多种选择:
①冒泡排序,新建String的数组,存储城市名,通过索引HashMap中的value将数组排序
②通过Collections.sort排序
详细的Collections.sort用法链接:https://www.cnblogs.com/yw0219/p/7222108.html?utm_source=itdadao&utm_medium=referral

代码:Collections.sort排序

public class Mafengwo1 implements Comparable<Mafengwo1> {private String city;private int citycount;public String getCity() {return city;}public void setCity(String city) {this.city = city;}public int getCitycount() {return citycount;}public void setCitycount(int citycount) {this.citycount = citycount;}public Mafengwo1(String city, int citycount) {this.city = city;this.citycount = citycount;}public Mafengwo1() {}static Map<String, Integer> map = new HashMap<String, Integer>();static Map<String, Integer> map2 = new HashMap<String, Integer>();public static void main(String[] args) {Scanner in = new Scanner(System.in);String str = new String();str = in.next();while (!str.equals("-1")) {map.put(str, 1);str = in.next();}in.close();Mafengwo1 test = new Mafengwo1();test.city(map);}public void city(Map<String, Integer> map) {for (String str : map.keySet()) {String str2 = new String();str2 = str.substring(9);map2.put(str2, map2.getOrDefault(str2, 0) + 1);}int i = 0;List<Mafengwo1> empList = new ArrayList<>();for (String k : map2.keySet()) {Mafengwo1 emp = new Mafengwo1(k, map2.get(k));empList.add(emp);}Collections.sort(empList, Comparator.reverseOrder());while(i<3) {System.out.println(empList.get(i));i++;}}@Overridepublic String toString() {return " city=" + city + ", citycount=" + citycount;}@Overridepublic int compareTo(Mafengwo1 o) {if (this.getCitycount() - o.getCitycount() == 0) {return o.getCity().compareTo(this.getCity());}return this.getCitycount() - o.getCitycount();}
}

马蜂窝2020秋招java方向笔试相关推荐

  1. 爱奇艺2019秋招Java方向笔试题(B)

    爱奇艺2019秋招Java方向笔试题(B) 1. 已知一个由5个顶点8条边构成的有向图,以下说法正确的是( C ) A. 各顶点的度之和为8 B. 若以邻接表作为存储结构,邻接表中结点个数为16 C. ...

  2. 2020秋招——XX校招笔试编程题:回文串

    回文串判断&打印给定字符串中的所有回文串 笔试时是纸质的,记错了indexOf()函数和charAt()函数,重大失误emmm,这样逻辑虽然都对了还是要gg,ww,反省中... 回文串:aba ...

  3. 【阅文集团2020秋招10.21笔试题目】机器学习/NLP算法工程师

    一.试题分布: 10道单选题 10道多选题 3道问答题 1道编程题 1道压轴题 题目难度评价:整体难度偏基础,考察知识点很全面,涉及到数据库,java,操作系统,概率论,深度学习基础等等. 二.题目回 ...

  4. 网易雷火2020秋招平台开发笔试-编程题

    题一 题目描述 AABB盒(Axis-Aligned Bounding Box)是描述3D世界包围盒的一个长方体,他的每一边都平行于一个坐标平面,中心点,长.宽.高可以彼此不同,如下图所示: 现在给定 ...

  5. 滴滴2020秋招产品经理笔试(内附思路答案)

    (关注公众号:落叶归根的猪.回复对应文章名字即可获取答案,或者查看目录跳转也行) (欢迎大家点赞+收藏+关注,需要答案的可以留言,我会私发给大家) 题目一:受新冠疫情影响,很多餐馆面临沉重的经营压力, ...

  6. 恒生2020秋招笔试答案及详解

    恒生2020秋招笔试试题 一.不定项选择 1.D,循环链表的主要优点是从表中任一结点出发都能访问到整个链表. 2.BCD,当父进程调用fork()创建子进程之后,(文件指针)变量在子进程中修改之后,父 ...

  7. 用友2023届秋招Java笔试-S2卷-编程题详解

    用友2023届秋招Java笔试-S2卷 其他的选择和多选不允许跳出 另外还有一道关于数据库查询的题: 有两个表,一个学生表,一个成绩表包含学生各个科目的成绩,学生表根据学生id和成绩表关联,要求的是通 ...

  8. 阿里巴巴2020届秋招最后一班车 企业智能事业部 企业大脑技术部 2020届秋招 Java 开发工程师

    阿里巴巴企业智能事业部 企业大脑技术部2020届秋招-JAVA工程师 阿里巴巴企业智能事业部,2020年秋季校招最后一班车啦: JAVA开发工程师虚位以待,机会难得,占坑抓紧. 入职就发师兄, 一对一 ...

  9. 阿里巴巴2020秋招数据分析笔试

    阿里巴巴2020秋招数据分析笔试 笔者经历内推被拒,然后去上海参加某会议期间神奇收到笔试邀请短信匆匆准备之后于2019.8.28晚19点参加笔试,数据分析笔试只有60分钟的时间(我同学投的算法岗由90 ...

最新文章

  1. Linux拷贝数据死机了,Linux系统“死机”时怎么办?
  2. 书评 —— 深入网站开发和运营
  3. 清楚xcode缓存(老是忘记所有记下来方便以后查阅)
  4. 华硕主板X99-E WS/USB 3.1固件更新
  5. Windows之vue-cli安装和vue项目快速搭建
  6. 团队开发——个人工作总结01
  7. 分布式系统架构的基本原则和实践
  8. 基于matlab的升压斩波实验,升降压斩波电路matlab仿真
  9. HALCON:内存管理(Memory Management)
  10. 面向站长和网站管理员的Web缓存加速指南[翻译]
  11. Flutter 静态挂载腾讯X5WebView(Tbs)浏览器内核
  12. pytorchOCR之CRNN
  13. 四、OSPF配置实验
  14. 洛必达法则介绍及使用注意点
  15. 【托业】【新托业TOEIC新题型真题】学习笔记7-题库二-P1~4
  16. Linux中出现 xxx is not in the sudoers file.This incident will be reported.
  17. IPtables中SNAT、DNAT和MASQUERADE的含义 (转)
  18. PHP中使用 fsockopen curl 模拟异步处理
  19. 题目1026 c语言,1026 程序运行时间——C/C++实现
  20. 用分区大师无损增加C盘空间

热门文章

  1. ES集群(一)简介与集群搭建
  2. matlab图像抽象化,一种彩色图像抽象化绘制方法
  3. 深入理解List的toArray()方法和toArray(T[] a)方法
  4. 关于微信投票怎么刷票教程详解之微信拉票怎么人工买票
  5. 中美通信运营商制式详解
  6. linxu云安装mysql 7.0_CentOS 7.0下使用yum安装MySQL
  7. 计算机与音乐整合的教学设计,音乐与戏剧的结合教学设计及教案分析
  8. 不可思议有氧机器人_不思议迷宫这七个彩蛋机器人你都有了嘛
  9. CESM2.1.3移植 XML文件的填写
  10. 七张知名美女嘴巴,哪张你最顺眼