杭电ACM 1004题

原题大概意思就是统计输入字符串中,重复的最大个数!

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String temp;//用于暂存输入的颜色字符串
        String[] ballon; //用于存储至多1000个气球的颜色字符串
        int [] count;;  // 用于记录每种颜色的个数
        int category;    //统计有多少种颜色
        Boolean change; //用于记录是否找到相同的颜色
        int i,j,n;
        while(sc.hasNext()){
              n=sc.nextInt();
              if(n==0){
                return ;  
              }
              category=0;
              count=new int[1000];
              ballon=new String[1000];
            for( i=0;i<n;i++){
                 temp=sc.next(); //输入的颜色
                 change=false;
                 for(j=0;j<i;j++){
                      if((ballon[j]!=null)&&(ballon[j].equals(temp))){
                         count[j]++; //找到相同的颜色,加在原有个数上加1
                         change=true;
                      }
                 }
                 if(!change){
                    ballon[i]=temp;
                    count[i]++;  //没有相同的颜色,就默认为1
                    category++; 
                 }
            }
            int max=0;
            for( i=0,j=0;i<category;i++){
                if(max<count[i]){
                    max=count[i];
                    j=i;
                }
            }
            System.out.println(ballon[j]);
        }
    }
}


 

你可能感兴趣的:(ACM,杭电,1004)