1 题目
2 代码
2.1 第一版(超时)
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] input = br.readLine().split("\\s");
int N = Integer.valueOf(input[0]);
int[] hash = new int[10001];
for (int i = 1; i <= N; i++) {
hash[Integer.valueOf(input[i])]++;
}
int num = 0;
for (int i = 1; i <= N; i++) {
if (hash[Integer.valueOf(input[i])] == 1) {
num = Integer.valueOf(input[i]);
break;
}
}
if (num != 0)
System.out.println(num);
else System.out.println("None");
}
}
2.2 第二版(超时)
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;
public class A1041 {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] number = new int[N];
int[] hash = new int[10001];
for (int i = 1; i <= N; i++) {
number[i - 1] = sc.nextInt();
hash[number[i - 1]]++;
}
int index = 0;
for (int i = 0; i < N; i++) {
if (hash[number[i]] == 1) {
index = number[i];
break;
}
}
if (index != 0)
System.out.println(index);
else System.out.println("None");
}
}
3 要点
(1)最后两个测试点过不去,并且使用Scanner比BufferedReader更耗时。