洛谷P3370 【模板】字符串哈希(Java)

题目描述

如题,给定 N 个字符串(第 ii 个字符串长度为 M_iM i ,字符串内包含数字、大小写字母,大小写敏感),请求出 NN 个字符串中共有多少个不同的字符串。

输入格式

第一行包含一个整数 NN,为字符串的个数。

接下来 NN 行每行包含一个字符串,为所提供的字符串。

输出格式

输出包含一行,包含一个整数,为不同的字符串个数。

输入输出样例

示例1:
输入

5
abc
aaaa
abc
abcc
12345

输出

4

样例说明

样例说明:

样例中第一个字符串(abc)和第三个字符串(abc)是一样的,所以所提供字符串的集合为{aaaa,abc,abcc,12345},故共计4个不同的字符串。

思路

直接用一个Set去重即可

代码

import java.util.*;

public class Main {
    
    
    public static void main(String[] args) {
    
    
        Scanner sc = new Scanner(System.in);
        HashSet<String> set = new HashSet<>();
        int n = sc.nextInt();
        for (int i= 0; i < n; i++) {
    
    
            set.add(sc.next());
        }
        System.out.println(set.size());
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_53946852/article/details/124672265