JAVA数组去除重复数据

描述

输入n个整数,统计每个数出现的次数.

输入

第一行是一个整数n(1<=n<=1000),接下来n行每行一个整数.

输出

第一行输出总共有多少个不同的整数.
接下来每行输出一个整数及这个整数出现的次数,用空格分隔.
输出的整数的顺序与它们在输入中第一次出现的顺序一致(即在输入中先出现的数,也会在输出中先出现)

样例输入

5
2
3
2
1
2

样例输出

3
2 3
3 1
1 1

这个题目在关于输出总共有多少个不同的整数的时候采用了集合的方式,统计数字出现次数的时候采用了简单的桶排序。

代码如下:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import java.math.*;
public class Main {

  public static void main(String[] args) {
      Scanner sc=new Scanner(System.in);
      int n;
          int[] a = new int[1000];
          Arrays.fill(a,0);
          List<Integer> list = new ArrayList<Integer>();
      n=sc.nextInt();
      sc.nextLine();
      for(int i=0;i<n;i++){
        int k=sc.nextInt();
        a[k]++;
         if(!list.contains(k)) {    
                  list.add(k);    
              }    
      }
      System.out.println(list.size());
      for(int i=0;i<list.size();i++) {
      
        System.out.println(list.get(i)+" "+a[list.get(i)]);
      }
  }

}

下面是关于JAVA数组去除重复数据的:

发布者

deng

听闻余生久不遇,相逢别错过。

发表评论

电子邮件地址不会被公开。 必填项已用*标注