刷题之单生狗和电话聊天狂人
admin
2024-04-18 20:45:22
0

目录

1、单生狗

1)题目

 2)题目解读

3)代码 

 2、电话聊天狂人

1)、题目

 2)代码解读

 3)代码


1、单生狗

1)题目

“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。

输入格式:

输入第一行给出一个正整数 N(≤50000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤10000),为参加派对的总人数;随后一行给出这 M 位客人的 ID,以空格分隔。题目保证无人重婚或脚踩两条船。

输出格式:

首先第一行输出落单客人的总人数;随后第二行按 ID 递增顺序列出落单的客人。ID 间用 1 个空格分隔,行的首尾不得有多余空格。

输入样例:

3
11111 22222
33333 44444
55555 66666
7
55555 44444 10000 88888 22222 11111 23333

输出样例:

5
10000 23333 44444 55555 88888

 2)题目解读

题目要求我们先输入一个数字N,然后再输入N对 夫妻/伴侣 的对数。还要输入一个数字M,然后再输入M个ID 号。我们需要判断这些ID号是否成对匹配N对 夫妻/伴侣 中的ID号。并输出其中未匹配的ID号数量及ID号,要求ID号按递增顺序输出。

3)代码 

import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n= Integer.parseInt(sc.nextLine());String[][] arr=new String[n][2];for (int i=0;i

 2、电话聊天狂人

1)、题目

给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。

输入格式:

输入首先给出正整数N(≤105),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。

输出格式:

在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出并列狂人的人数。

输入样例:

4
13005711862 13588625832
13505711862 13088625832
13588625832 18087925832
15005713862 13588625832

输出样例:

13588625832 3

 2)代码解读

题目给我们n对通话记录的号码,要求我们找出通话最多的通话狂人,输出其号码和通话次数,要是有多个通话次数的通话狂人,就输出最小的号码和通话次数以及有多少个和他通话次数相同的人。我们可以使用HashMap储存,再进行排序,这道题就会变得非常简单。

 3)代码

import java.util.*;public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n= Integer.parseInt(sc.nextLine());HashMap map=new HashMap<>();//输入for (int i=0;i> list = new ArrayList<>(map.entrySet());//使用lambda表达式进行比较器传递//先比较该电话的拨打次数是否相同,降序排列//再比较电话号码打大小,降序排列list.sort((o1, o2) -> {if (o1.getValue().equals(o2.getValue())) {return o2.getKey().compareTo(o1.getKey());} else//重写排序规则,小于0表示升序,大于0表示降序return o2.getValue() - o1.getValue(); });int count=0;//保存拨打号码次数相同的数量int v=0;//第一次遍历无法比较,所有设置一个boolean判断区分boolean b=true;//区别一种特殊情况:是否全部号码拨打次数都一样boolean bb=true;String ss = null;//使用Iterator遍历list去找号码Iterator> inter = list.iterator();while(inter.hasNext()){Map.Entry item = inter.next();String key = item.getKey();int value = item.getValue();if (b){ss=key;v=value;count++;b=false;}else {//发现这个号码次数和上一个号码次数不同,即是最小号码//或者是次数最大的号码,然后再进行if判断 if (v!=value){bb=false;System.out.print(ss+" ");if (count==1){System.out.print(v);}else {System.out.print(count);}break;}ss=key;count++;}}//如果全部号码拨打次数相同,则输出if (bb){System.out.println(ss+" "+v+" "+map.size());}}
}

相关内容

热门资讯

安卓系统手机根目录,揭秘系统核... 你有没有想过,你的安卓手机里藏着一个个神秘的秘密?没错,就是那个深藏不露的根目录!今天,就让我带你一...
正在安装安卓系统更新,畅享全新... 亲爱的读者,你有没有经历过那种心痒痒的时刻,当你发现你的安卓手机屏幕上突然跳出了“正在安装安卓系统更...
安卓学生管理系统总结,功能集成... 说到安卓学生管理系统,这可是现代教育管理的一大神器呢!想象你作为学生,每天的课程表、作业、成绩,还有...
安卓新系统断网,安卓新系统断网... 最近是不是你也遇到了安卓新系统断网的问题?这可真是让人头疼啊!手机突然间连不上网,微信消息发不出去,...
安卓8.0鸿蒙系统安装,安装指... 你有没有想过,给你的安卓手机来个“换装大法”,让它从安卓8.0升级到鸿蒙系统呢?听起来是不是有点酷炫...
安卓系统更换快捷栏,提升操作体... 你有没有发现,手机里的安卓系统越来越智能了?不过,有时候我们也会想换换口味,给手机来个“大变身”。今...
以前安卓系统怎么截图,从安卓早... 你还记得以前用安卓手机截图的时候,那是一段多么“手忙脚乱”的时光吗?那时候,没有现在这么方便的截图工...
安卓22系统下载地址,下载地址... 你有没有听说?安卓22系统终于来了!这款全新的操作系统不仅带来了超多新功能,还让手机体验焕然一新。今...
秒省日记安卓系统,安卓系统下的... 你有没有想过,每天的生活就像一部精彩的连续剧,而秒省日记安卓系统就是那个帮你记录每一集的神奇剧本家呢...
丽江攻略系统和安卓,安卓系统下... 丽江,那片被岁月温柔抚摸过的土地,总是让人心生向往。想象漫步在古城的石板路上,感受着古城的韵味,是不...
安卓系统使用键盘退出,Andr... 你是不是也和我一样,在使用安卓手机的时候,有时候会遇到退出某个应用或者关闭键盘的困扰呢?别急,今天就...
安卓系统如何转为ios系统王者... 你是不是也和我一样,对安卓系统和iOS系统之间的转换充满了好奇?想象从熟悉的安卓世界跳进神秘的iOS...
智能中医处方系统安卓,便捷养生... 你知道吗?现在科技的发展真是让人眼前一亮,连中医处方都能变得智能起来!没错,就是那个我们熟悉的中医,...
荣耀20使用安卓系统,安卓系统... 你有没有听说过荣耀20这款手机?它可是最近在手机圈里火得一塌糊涂呢!尤其是它的安卓系统,简直让人爱不...
安卓carplay车载系统ap... 你有没有发现,现在开车的时候,手机和车载系统之间的互动越来越紧密了?没错,我要跟你聊聊的就是这个神奇...
安卓系统的联网提示,解锁智能生... 手机突然弹出一个联网提示,你是不是也和我一样,瞬间有点懵圈呢?这安卓系统的联网提示,看似简单,实则大...
手机天猫 安卓系统,智能生活新... 你有没有发现,现在的生活越来越离不开手机了?尤其是那个万能的购物神器——天猫,简直让人爱不释手。今天...
旗鱼系统怎么安卓软件,一键打造... 你有没有想过,手机上的那些神奇软件是怎么来的呢?今天,我就要给你揭秘一个超级酷炫的安卓软件——旗鱼系...
如何启动安卓子系统,全方位指南 你有没有想过,你的安卓手机里竟然还隐藏着一个神秘的子系统?没错,就是那个你可能从未听说过的安卓子系统...
汽车安卓系统app源码,汽车安... 你有没有想过,汽车里的安卓系统竟然也能有自己的APP?没错,就是那个我们平时手机上用的安卓系统,现在...