HDU 1004 Let the Balloon Rise

原题地址

       这道题是一道字符串输出的入门题,难度不大,数据也不多,简单的暴力求解就可以解决这个问题。

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		
		while(n!=0) {
			String[] str = new String[1001] ;
			int [] a = new int [1001];
			int flag = 0,max = 0;
					
			for(int i = 1; i<=n;i++)
			{
				str[i] = s.next();//唯一值得一提的是我在这里刚开始用的是s.nextline(),
				                  //却发现输入不对,少了一个数,查阅发现nextline判断依据是回车键,会导致
				                  //str[1]被略过而从str[2]开始存储
				for(int j = 1;j<=i;j++)
				{
					if(str[i].equals(str[j]))
						a[i]++;//判断之前的字符串有没有和新输入的字符串相同,有则加1
				}
				
			}

			
			for(int i=1;i<=n;i++)
			{
				if(a[i]>max)
				{
					max = a[i];
					flag = i;//判断最大值并且做标记
				}
			}
			
			System.out.println(str[flag]);
			
			n = s.nextInt();
		}
		
	}

}

你可能感兴趣的:(ACM)