问题描述
对于给定整数数组a[],寻找其中最大值,并返回下标。
输入格式
整数数组a[],数组元素个数小于1等于100。输出数据分作两行:第一行只有一个数,表示数组元素个数;第二行为数组的各个元素。
输出格式
输出最大值,及其下标
样例输入
3
3 2 1
样例输出
3 0
数组存入数组,在对其排序,最大值即为数组长度-1的下标的值。
那么问题来了,如何找原数组的最大值下标?
我们可以利用数组的api——clone()复制原数组,用最大值将其比较即可。
public class AL_49 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int[] arr=new int[a];
for (int i = 0; i < arr.length; i++) {
arr[i]=sc.nextInt();
}
int[] abb=arr.clone();//复制数组
Arrays.sort(arr);//对数组排序
System.out.println(arr[a-1]+" ");
for (int i = 0; i < a; i++) {
if (abb[i]==arr[a-1]){//找最大值在原数组的下标
System.out.println(i);
}
}
}
}