题目背景
宇宙总统竞选
题目描述
地球历公元6036年,全宇宙准备竞选一个最贤能的人当总统,共有n个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统。
输入格式
第一行为一个整数n,代表竞选总统的人数。
接下来有n行,分别为第一个候选人到第n个候选人的票数。
输出格式
共两行,第一行是一个整数m,为当上总统的人的号数。
第二行是当上总统的人的选票。
输入输出样例
输入 #1
5 98765 12365 87954 1022356 985678
输出 #1
4 1022356
说明/提示
票数可能会很大,可能会到100位数字。
n<=20
java实现代码如下:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int line = Integer.valueOf(scanner.nextLine());
String str = "";
List<String> datas = new ArrayList<>();
int count = 0;
while (count < line) {
str = scanner.nextLine();
datas.add(str);
count++;
}
int maxIndex = 0;
String maxValue = "";
String temp = "";
int result = 0;
for (int i = 0; i < datas.size(); i++) {
temp = datas.get(i);
if (temp.length() > maxValue.length()) {
maxValue = temp;
maxIndex = i;
} else if (temp.length() == maxValue.length()) {
for (int j = 0; j < temp.length(); j++) {
result = Integer.valueOf(temp.charAt(j)) - Integer.valueOf(maxValue.charAt(j));
if (result > 0) {
maxValue = temp;
maxIndex = i;
break;
} else if (result < 0) {
break;
}
}
}
}
System.out.println(maxIndex + 1);
System.out.println(maxValue);
}
}