【2013 省赛试题】错误票据
文章目录
- 错误票据
错误票据
某涉密单位下发了某种票据,并要在年终全部收回。• 每张票据有唯一的ID号。• 全年所有票据的ID是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务:• 通过编程,找出断号的ID和重号的ID假设断号不可能发生在最大和最小号。要求程序:• 首先输入一个整数(N<100)表示后面数据行数。• 接着读入N行数据• 每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于10000)• 每个整数代表一个ID号。• 程序输出1行,含两个整数mn,用空格分隔。其中,m表示断号ID,n表示重号ID例如用户输入:25 6 8 11 910 12 9则程序输出:7 9资源约定峰值内存消耗(含虚拟机<64M);CPU消耗<2000ms请严格按要求输出,不要画蛇添足地打印类似:“请您输入”的多余内容
public class Test05_错误票据 {public static void main(String[] args) {// 创建集合存储数据ArrayList<Integer> list = new ArrayList<>();// 控制台录入Scanner sc = new Scanner(System.in);int N = sc.nextInt(); // N 表示数据的行数// 遍历N行数据for (int i = 0; i < N; i++) {String line = sc.nextLine(); String[] splits = line.split(" "); // 对每一行数据进行拆分for (int j = 0; j < splits.length; j++) {list.add(Integer.parseInt(splits[j])); // 将数据存入集合}}System.out.println(list.size()); // 输出集合的大小}}
这里会报错:Exception in thread "main" java.lang.NumberFormatException: For input string: ""
,查了一下,说是在转成int数据类型的时候,空值不能实现。
在这里,个人理解是对于控制台内容的判断有误。这里的2
仅代表数据的行数N
,赋值后,对于遍历来说就只有控制行数遍历的作用。所以此时的控制台遍历内容实际上是后面两行,首先在遍历前就应该利用sc.nextLine()
下移一行,换句话说是吃掉2后面的换行符 \n
。
接下来就是对集合中的元素进行遍历判断 — 断点、重复ID:
package 蓝桥杯;import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Scanner;public class Test05_错误票据 {public static void main(String[] args) {// 创建集合存储数据ArrayList<Integer> list = new ArrayList<>();// 控制台录入Scanner sc = new Scanner(System.in);int N = sc.nextInt();sc.nextLine(); // 更新控制台内容 --- 吃掉整数后面的换行符// 遍历for (int i = 0; i < N; i++) {String line = sc.nextLine();String[] splits = line.split(" ");for (int j = 0; j < splits.length; j++) {list.add(Integer.parseInt(splits[j]));}}// 遍历集合判断断点、重复ID// 1.首先进行排序Collections.sort(list); // 对于集合的排序用Collections.sort()// 2.遍历int m = 0,n = 0; // 用于接收断点、重复值for (int i = 1; i < list.size(); i++) {if (list.get(i) - list.get(i-1) == 2){m = list.get(i)-1;}if (list.get(i)==list.get(i-1)){n = list.get(i);}}System.out.println(m+" "+n);}}
测试:
返回顶部
【2013 省赛试题】错误票据相关推荐
- 历届试题 错误票据(multiset)
http://lx.lanqiao.cn/problem.page?gpid=T28 历届试题 错误票据 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 某涉密单位下 ...
- 【蓝桥杯】历届试题 错误票据
历届试题 错误票据 时间限制:1.0s 内存限制:256.0MB 问题描述 某涉密单位下发了某种票据,并要在年终全部收回. 每张票据有唯一的ID号.全年所有票据的ID号是连续的,但ID的开 ...
- 蓝桥杯 历届试题 错误票据 字符串处理
历届试题 错误票据 时间限制:1.0s 内存限制:256.0MB 问题描述 某涉密单位下发了某种票据,并要在年终全部收回. 每张票据有唯一的ID号.全年所有票据的ID号是连续的,但ID的开 ...
- 2013\Province_C_C++_A\7.错误票据
某涉密单位下发了某种票据,并要在年终全部收回. 每张票据有唯一的ID号.全年所有票据的ID号是连续的,但ID的开始数码是随机选定的. 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID ...
- [Java] 蓝桥杯PREV-5 历届试题 错误票据
问题描述 某涉密单位下发了某种票据,并要在年终全部收回. 每张票据有唯一的ID号.全年所有票据的ID号是连续的,但ID的开始数码是随机选定的. 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成 ...
- 蓝桥杯 PREV-5历届试题 错误票据
问题描述 某涉密单位下发了某种票据,并要在年终全部收回. 每张票据有唯一的ID号.全年所有票据的ID号是连续的,但ID的开始数码是随机选定的. 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成 ...
- 试题 历届试题 错误票据
问题描述 某涉密单位下发了某种票据,并要在年终全部收回. 每张票据有唯一的ID号.全年所有票据的ID号是连续的,但ID的开始数码是随机选定的. 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成 ...
- 2013蓝桥杯-B-省赛-七、错误票据
七.错误票据 package com.markerhub;import java.util.Scanner; import java.util.ArrayList; import java.util. ...
- 【每日蓝桥】15、一三年省赛Java组真题“错误票据”
你好呀,我是灰小猿,一个超会写bug的程序猿! 欢迎大家关注我的专栏"每日蓝桥",该专栏的主要作用是和大家分享近几年蓝桥杯省赛及决赛等真题,解析其中存在的算法思想.数据结构等内容, ...
最新文章
- python直接执行*.sql_Python Django 之 直接执行自定义SQL语句(一)
- 如何在实际场景中使用异常检测?阿里云Prometheus智能检测算子来了
- 使用t-sql语句修改表中的某些数据及数据类型。_测试开发工程师数据库篇(一)...
- Linux下的各文件夹的作用(转)
- spark的foreach(println)看不到输出结果
- R语言之连接mysql数据库
- 在MongoDB和Spring Batch中将XML转换为JSON和原始使用
- php 按钮的属性值,HTML button标签的属性有哪些
- php改名下载,PHP如何给上传的文件改名
- python game_Python游戏
- Pytorch class 中 的__call__方法
- java面向对象相关选择题_java面向对象练习题一
- android sensor架构_转 Camx 架构知识点
- Fragstats运行内存不够或卡顿问题解决
- 计算机我的云盘在哪里看,怎么设置在我的电脑中显示百度网盘
- latex加下划线_给latex文字加下划线和高亮显示
- 福州铁通DNS是多少
- Elasticsearch入门 - 简单上手
- 《人性的弱点》【美】戴尔 卡耐基 读书笔记
- POJ-3311 Hie with the Pie
热门文章
- 《PCI Express体系结构导读》 -- 王奇
- c51单片机时钟c语言程序设计,基于51单片机的电子时钟设计..doc
- 飞康CEO:一切正向积极的方向发展
- java实现当前时间往前推N小时
- linux 4.2,Linux Kernel 4.2 正式发布
- Python学习资料1
- [CS231n Assignment 2 #04 ] 卷积神经网络(Convolutional Networks )
- 超详细的遗传算法(Genetic Algorithm)解析
- wd移动硬盘不能识别_西数移动硬盘win10不识别怎么办_电脑识别不了西数移动硬盘如何处理...
- Python3自定义排序