HDOJ-ACM1004(JAVA)

转载声明:原文转自http://www.cnblogs.com/xiezie/p/5502876.html

HDOJ-ACM1004(JAVA)

JAVA语言实现:

拿到题目第一反应是用HashMap实现,但是感觉用HashMap实在太浪费了,而且必须用Integer或者String等对象作为value值。

如果用ArrayList实现的话(当然直接用String数组也行),其实简单快捷,用到的int数组其实只是作为一个类似简单hash里的思路。

代码如下:

import java.util.*;

import java.io.*;

public class Main{

    public static void main(String[] arg){
Scanner scan = new Scanner(new BufferedInputStream(System.in));
ArrayList<String> list = new ArrayList<>();
while(scan.hasNextInt()){
int n = scan.nextInt();
if(n==0){
break;
}
list.clear();
int[] a = new int[1000];
while(n--!=0){
String s = scan.next();
if(!list.contains(s)){
list.add(s);
}
a[list.indexOf(s)]++;
}
int max= 0;
for(int i = 1 ; i != 1000 ; i ++ ){
if(a[i]==0){
break;
}
if(a[i]>a[max]){
max = i;
}
}
System.out.println(list.get(max));
}
scan.close();
}
}
上一篇:java中常见异常汇总(根据自己遇到的异常不定时更新)


下一篇:【iOS】app的生命周期