日期:2014-05-20 浏览次数:21038 次
import java.util.Scanner;
public class Main {
    // 1至10000之间 数组最长就1000
    // 打表就OK了,每读一个数字就以该数字为下标存入数字
    // 如果给空间已经存储就说明这个数字重复了
    // 最好O(2), 最坏O(n), 平均 O(n/2)
    public static void main(String[] args) {
        boolean[] a = new boolean[1001];
        // 输入器
        Scanner scanner = new Scanner(System.in);
        int x;
        // 如果输入器有数据
        while (scanner.hasNext()) {
            // 读取当前数据
            x = scanner.nextInt();
            // 如果是false,表示尚未使用该空间
            // 则表示这个数没使用
            if (!a[x]) {
                // 就使用该空间
                a[x] = true;
            } else {
                // 否则是true就说明已经出现了该数
                System.out.println(x + "重复");
                break;
            }
        }
    }
}
// 1 2 3 4 5 6 7 8 9 10 1
// 1重复