0
点赞
收藏
分享

微信扫一扫

02 散列【PAT A1041】Be Unique

素锦时年_1b00 2022-03-11 阅读 28

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更耗时。

举报

相关推荐

0 条评论