HDU-1004-Let the Balloon Rise(直接new一个字符串数组compareTo!)

Let the Balloon Rise

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 85666    Accepted Submission(s): 32330


Problem Description
Contest time again! How excited it is to see balloons floating around. But to tell you a secret, the judges' favorite time is guessing the most popular problem. When the contest is over, they will count the balloons of each color and find the result.

This year, they decide to leave this lovely job to you. 
 

Input
Input contains multiple test cases. Each test case starts with a number N (0 < N <= 1000) -- the total number of balloons distributed. The next N lines contain one color each. The color of a balloon is a string of up to 15 lower-case letters.

A test case with N = 0 terminates the input and this test case is not to be processed.
 

Output
For each case, print the color of balloon for the most popular problem on a single line. It is guaranteed that there is a unique solution for each test case.
 

Sample Input
   
   
   
   
5 green red blue red red 3 pink orange pink 0
 

Sample Output
   
   
   
   
red pink
 

Author
WU, Jiazhi
 

Source
ZJCPC2004
 

Recommend
JGShining   |   We have carefully selected several similar problems for you:   1008  1005  1003  1009  1019


解释一下题目啊:
题目的主要意思就是多个案例输入:
每个案例第一行是n,包含n个数据,即n个字符串的颜色读入,算出出现次数最多的颜色并输出出来!

题目很简单啊!我这里用Java 建立了一个字符串数组String[] strArray = new String[n];来保存每个颜色,
用整型a数组来保存每个颜色出现的次数.(a数组的下标对应字符串数组strArray的下标)最后算出最大
出现的次数,输出就行了!这是直来直往的题没有转弯!Easy Accpted各位Oier五一假期快乐!


import java.io.*;
import java.util.*;

public class Main
{

	public static void main(String[] args)
	{
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		while (input.hasNext())
		{
			int n = input.nextInt();
			if (n == 0)
				break;
			input.nextLine();
			String[] strArray = new String[n];
			int a[] = new int[n];
			for (int i = 0; i < n; i++)
			{
				strArray[i] = input.nextLine();
			}
			for (int i = 0; i < n; i++)
			{
				for (int j = 0; j < n; j++)
				{
					if (strArray[i].compareTo(strArray[j]) == 0)
					{
						a[i]++;
					}
				}
			}
			int flag = 0;
			int max = 0;
			for (int i = 0; i < n; i++)
			{
				if (a[i] > max)
				{
					max = a[i];
					flag = i;
				}
			}
			System.out.println(strArray[flag]);
		}
	}

}

 

你可能感兴趣的:(java,排序,String,new,HDU,字符串数组,strArray)