题目:
输入多个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 makefile 编译标记 EXTRA_CFLAGS 简介
  2. 记一次TrustAnchor with subject异常解决
  3. 【Java Web前端开发】TomcatServlet基础
  4. 轻松python专题--文本
  5. DevExpress 控件使用之GridControl基本属性设置
  6. ADS的go to命令
  7. redis 什么是冷数据_阿里Java三面凉凉:微服务,Redis,JVM一个都搞不懂
  8. 转自他人——————TLE之前,没有一个节点叫失败!!!
  9. Maven:基本使用
  10. windows窗口移动到屏幕外,找回方法
  11. leetcode - 264. 丑数 II
  12. Javascript特效:字体背景跑马灯
  13. BZOJ5219[Lydsy2017省队十连测] 最长路径
  14. 安捷伦or是德信号源+频谱仪操作:从程控到自动测试(一)仪器校准的程控实现
  15. windows驱动开发技术详解 VC6与DDK搭配使用的设置
  16. 机器学习H2O AI框架简介
  17. 2021年美容师(初级)报名考试及美容师(初级)最新解析
  18. ipa包瘦身之图片无损压缩瘦身
  19. 罗振宇跨年演讲:哪来直接登顶的人生,只有不断迭代的历程
  20. 通过自定义镜像创建具有相同操作系统、应用程序和数据的百度云服务器BCC,有效提高交付效率!

热门文章

  1. Elasticsearch集群部署及Head插件安装
  2. GPU与CPU浮点数运算误差不同
  3. 【Python】Quoted-Printable编码与字符串的相互转换
  4. 化妆品行业APS解决方案
  5. 详解软件测试中基本路径测试法
  6. GeForce RTX 30系列GPU实现NVIDIA史上前所未有的性能飞跃
  7. 深入理解微信小程序的底层框架(一)
  8. linux运维面试题:第二部分
  9. h700通话糊 索尼wi_索尼WI-H700耳机怎么接听电话
  10. 账号申述不思议迷宫填什么服务器,不思议迷宫账号密码都忘了 | 手游网游页游攻略大全...