题目
本人完整通过的代码参考
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
private static List<Integer> ids = new ArrayList<Integer>();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
sc.nextLine();
int i = 0;
while (sc.hasNextLine()) {
String[] temp = sc.nextLine().trim().replaceAll("\\s+", ",").split(",");
for (String id : temp) {
ids.add(Integer.parseInt(id));
}
if (++i >= N)
break;
}
ids.sort(null);
int m = 0, n = 0;
for (int j = 1; j < ids.size() - 1; j++) {
int front = ids.get(j);
int rear = ids.get(j + 1);
if (front == rear)
n = front;
else if (front != rear - 1)
m = rear - 1;
if (m != 0 && n != 0)
break;
}
System.out.println(m + " " + n);
sc.close();
}
}
测试一组示例数据
本博客其他文章推荐
(递归方法)不建立二叉树模型求解“根据前序序列、中序序列写出后序序列”的问题
算法设计与分析之半数集问题
关于C++整型数组自动初始化为零的情况记录
算法设计与分析之线性时间选择