解题思路:
1. 重号:使用Map存储ID,判断重复key,即可得到重复ID
2. 断号:先得到所有ID序列的最小值和最大值,循环判断不存在于Map中的ID,即可得到断号
注意事项:
参考代码:
import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class C1458 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int m = 0, n = 0; int N = sc.nextInt(); sc.nextLine(); Map<Integer, Integer> map = new HashMap<Integer, Integer>(); int min = Integer.MAX_VALUE, max = 0, num; for(int i = 0; i < N; i++){ String[] strs = sc.nextLine().split("[ ]+"); for(String str : strs){ num = Integer.valueOf(str); if(map.containsKey(num)) //重号ID n = num; else map.put(num, num); if(num < min) min = num; if(num > max) max = num; } } for(int i = min; i <= max; i++){ if(!map.containsKey(i)){//断号 m = i; break; } } System.out.printf("%d %d", m, n); } sc.close(); } }
0.0分
4 人评分
【偶数求和】 (C语言代码)浏览:432 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:523 |
1005答案错误为什么浏览:1975 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:464 |
马拦过河卒 (C语言代码)浏览:1118 |
1073题解浏览:625 |
求教大神。。。。1063,统计字符。浏览:11685 |
管理学院的人数 (Java代码)浏览:539 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:581 |
1224题解浏览:478 |