历届试题 错误票据
題目
問(wèn)題描述
某涉密單位下發(fā)了某種票據(jù),并要在年終全部收回。
每張票據(jù)有唯一的ID號(hào)。全年所有票據(jù)的ID號(hào)是連續(xù)的,但I(xiàn)D的開始數(shù)碼是隨機(jī)選定的。
因?yàn)楣ぷ魅藛T疏忽,在錄入ID號(hào)的時(shí)候發(fā)生了一處錯(cuò)誤,造成了某個(gè)ID斷號(hào),另外一個(gè)ID重號(hào)。
你的任務(wù)是通過(guò)編程,找出斷號(hào)的ID和重號(hào)的ID。
假設(shè)斷號(hào)不可能發(fā)生在最大和最小號(hào)。
輸入格式
要求程序首先輸入一個(gè)整數(shù)N(N<100)表示后面數(shù)據(jù)行數(shù)。
接著讀入N行數(shù)據(jù)。
每行數(shù)據(jù)長(zhǎng)度不等,是用空格分開的若干個(gè)(不大于100個(gè))正整數(shù)(不大于100000),請(qǐng)注意行內(nèi)和行末可能有多余的空格,你的程序需要能處理這些空格。
每個(gè)整數(shù)代表一個(gè)ID號(hào)。
輸出格式
要求程序輸出1行,含兩個(gè)整數(shù)m n,用空格分隔。
其中,m表示斷號(hào)ID,n表示重號(hào)ID
樣例輸入1
2
5 6 8 11 9
10 12 9
樣例輸出1
7 9
樣例輸入2
6
164 178 108 109 180 155 141 159 104 182 179 118 137 184 115 124 125 129 168 196
172 189 127 107 112 192 103 131 133 169 158
128 102 110 148 139 157 140 195 197
185 152 135 106 123 173 122 136 174 191 145 116 151 143 175 120 161 134 162 190
149 138 142 146 199 126 165 156 153 193 144 166 170 121 171 132 101 194 187 188
113 130 176 154 177 120 117 150 114 183 186 181 100 163 160 167 147 198 111 119
樣例輸出2
105 120
思路:
話說(shuō)這道題這輸入輸出拿java刷真是占便宜啊~
輸入解決掉之后排序,比較,OK~
代碼
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n;String s;Vector<Integer> v = new Vector<Integer>();int x=0,y=0;while(sc.hasNext()) {String st=sc.nextLine();n=Integer.parseInt(st);for(int i=0;i<n;i++) {s=sc.nextLine();String[] sn=s.split(" ");for(int j=0;j<sn.length;j++)v.add(Integer.parseInt(sn[j]));}int[] a = new int[v.size()];for(int i=0;i<a.length;i++)a[i]=v.get(i);Arrays.sort(a);for(int i=1;i<a.length;i++) {if(a[i]!=a[i-1]+1)if(a[i]!=a[i-1])x=a[i]-1;if(a[i]==a[i-1])y=a[i];}System.out.println(x+" "+y);}}}版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。
轉(zhuǎn)載于:https://www.cnblogs.com/wygdove/p/4814326.html
總結(jié)
- 上一篇: STL 去重 unique
- 下一篇: redis list命令操作