ZZULIOJ 1153: 简易版最长序列,Java

ZZULIOJ 1153: 简易版最长序列,Java

题目描述

给你一组数(未排序),请你设计一个程序:求出里面个数最多的数。并输出这个数的长度。
例如:给你的数是:1、 2、 3、 3、 4、 4、 5、 5、 5 、6, 其中只有6组数:1, 2, 3-3, 4-4, 5-5-5 and 6.
最长的是5那组,长度为3。所以输出3。

输入

第一行为整数t((1 ≤ t ≤ 10)),表示有n组测试数据。
每组测试数据包括两行,第一行为数组的长度n (1 ≤ n ≤ 10000)。第二行为n个整数,所有整数Mi的范围都是(1 ≤ Mi < 2^32)

输出

对应每组数据,输出个数最多的数的长度。

样例输入 Copy
1
10
1 2 3 3 4 4 5 5 5 6
样例输出 Copy
3
import java.io.*;
import java.util.HashMap;

public class Main {
    
    
    public static void main(String[] args) throws IOException {
    
    
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int T = Integer.parseInt(bf.readLine());
        while (T-- > 0) {
    
    
            HashMap<Long, Integer> hashMap = new HashMap<>();
            int n = Integer.parseInt(bf.readLine());
            String[] str = bf.readLine().split(" ");
            int mx = 0;
            for (int i = 0; i < n; i++) {
    
    
                long x = Long.parseLong(str[i]);
                hashMap.put(x, hashMap.getOrDefault(x, 0) + 1);
                mx = Math.max(mx, hashMap.get(x));
            }
            bw.write(mx + "\n");
        }
        bw.close();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_52792570/article/details/132568951
今日推荐