输出一维数组中最小的正整数元素及其下标。若最小值的正整数有多个,请输出下标最大的一个,如果没有找到,输出-1。
输入格式:
第一行输入一个正整数n(n<=1000)
第二行是n个整数。
输出格式:
输出找到的元素及其下标,用空格隔开,如果没有找到符合要求的元素输出-1。
输入样例:
在这里给出一组输入。例如:
5
8 4 5 1 2
输出样例:
在这里给出相应的输出。例如:
1 3
package exer;
import java.util.*;
/**
* ClassName
* Description:
* Date 2022/5/15 22:29
*
* @User : TThh
* @since JDK 17.0
*/
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
//定义一个长度为n的数组 ,注意这里不要这样定义:int[] numbers = new int[1001];
int[] numbers = new int[n];
//定义min为int类型的最大值
int min = Integer.MAX_VALUE;
int ss = min;
//向数组中填入n个数字,并找出正整数的最小值
for(int i = 0 ; i < n ; i++){
numbers[i] = in.nextInt();
if(numbers[i] < min && numbers[i] > 0 ){
min = numbers[i];
}
}
//判断min是否是最大值,如果是则说明没有找到正整数的最小值,直接输出-1并结束程序
if(min == ss ){
System.out.println(-1);
return ;
}
//在使用一个循环找出最小值的最大下标
int flag = 0;
for(int i = numbers.length - 1 ; i >= 0 ; i--){
if(numbers[i] == min){
flag = i;
break;
}
}
System.out.println(min + " " + flag);
}
}