蓝桥杯 - 算法训练 - 寻找数组中最大值 - Java
- 问题描述
对于给定整数数组a[],寻找其中最大值,并返回下标。 - 输入格式
整数数组a[],数组元素个数小于1等于100。输出数据分作两行:第一行只有一个数,表示数组元素个数;第二行为数组的各个元素。 - 输出格式
输出最大值,及其下标 样例输入
3
3 2 1样例输出
3 0
思考
这个题目很简单目的就是找最大值,声明一个变量max(初始化为0)来表示最大值,每次输入一个数组元素时
用max与该元素比较若数组元素比max大,则max等于该数组元素值并记录此时该数组元素的下标。
代码 - Java
import java.util.Scanner;
public class FindMax {
public static void main(String[] args) {
int n = 0;
Scanner scanner = new Scanner(System.in) ;
if(scanner.hasNext()){
n = scanner.nextInt() ;
}
int arr[] = new int[n] ;
int max= 0 ,index = 0; //max表示最大值,index表示最大值元素的下标
for(int i = 0 ; i < n ; i ++){
if(scanner.hasNext()){
arr[i] = scanner.nextInt() ;
}
if(max < arr[i]){//若max小于该数组元素,则max等于该元素,并用index记录当前元素的下标
max = arr[i] ;
index = i ;
}
}
System.out.println(max + " " + index);
}
}