package bunseki;
import java.io.*;
import java.util.HashMap;
public class pro {
int s,datanumber;
String[] data=new String[600000];
String[] name=new String[600000];
String[] dic=new String[60000];
HashMap<String,Integer> map = new HashMap<String,Integer>();
int[] point=new int[60000];
int[] rank=new int[60000];
int dicnumber;
public static void main(String[] args) {
pro t=new pro();
}
pro(){
readx("data.csv");
for(s=2;s<datanumber+1;s++){
String[] x=data[s].split(",");
name[s-1]=x[1];
}
int delta=0;
int sx=0;
dic[0]="";
for(s=1;s<datanumber;s++){
int h=0;
if(map.containsKey(name[s]))h=100;
if(h<50)sx=sx+1;
if(h<50) map.put(name[s],sx);
if(h<50) dic[sx]=name[s];
}
dicnumber=sx;
for(s=1;s<datanumber;s++){
sx=map.get(name[s]);
point[sx]=point[sx]+1;
}
ranking();
for(s=1;s<101;s++){
sx=rank[s];
System.out.println(dic[sx]+","+point[sx]);
}
}
void ranking(){
int r,s,sx,h;
int[] ch=new int[80000];
double maxu;
for (r = 1; r < 101; r++) {
sx = 0;
maxu = -999999;
for (s = 1; s < dicnumber + 1; s++) {
h = 0;
if (point[s] > maxu) h = h + 1;
if (ch[s] < 50) h = h + 1;
if (h == 2) maxu = point[s];
if (h == 2) sx = s;
}
rank[r] = sx;
ch[sx] = 100;
}
}
void readx(String file){
String str;
BufferedReader br;
int s;
s=0;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
while((str = br.readLine()) != null) {
s=s+1;
data[s]=str;
}
br.close();
} catch (IOException e) {System.out.println(e);}
datanumber=s;
}
}
最終更新:2016年08月21日 15:45