题目描述
给定100个整数,请你找出其中最大的数字,以及它的输入位置(位置从1开始)。
输入格式
共100行,每行包含一个整数。
输出格式
第一行输出最大的数字。
第二行输出该数字的输入位置。
数据范围
1≤输入数字≤50000,
保证输入数字互不相同。
代码
import java.io.*;
public class Main{
public static void main(String args[]) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int max=0,index=0;
for(int i=1;i<=100;i++){
int val=Integer.parseInt(br.readLine());
if(val>max){
max=val;
index=i;
}
}
System.out.println(max);
System.out.println(index);
}
}
个人理解
这个题难度并不大,理解上也很好理解,我觉得难的是怎么去解决这个问题,或者说怎么高效解决这个问题。如果你是先输入数组,再排序或者用map之类的也肯定可以解决这个问题,但是这样绝对不是最佳方法。像上述方法,在输入的时候进行判断,直接每次输入的时候执行一个判断,依次进行判断。这个代码是我看用到一个大佬的(Zh1995),茅舍顿开。