问题描述
给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。
输入格式
第一行包含一个整数n。
第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。
第三行包含一个整数a,为待查找的数。
输出格式
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
思路
1. 通过排序进而直接确定最大最小值
2. 求和
3. 输出
代码
import java.util.*;
public class Main {
public static void main(String []args) {
//获取输入值
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int []arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
int a = sc.nextInt();
//遍历输入值
for (int i = 0; i < n; i++) {
//有相同的值则输出并退出循环
if (a == arr[i]) {
//注意输出要求中:位置从1开始编号
//而数组下标从0开始,因此需+1
System.out.println(i + 1);
break;
}
//找不到的条件是i到了n-1的位置,即数组末尾还未匹配到
else if(i == n-1){
System.out.println(-1);
}
}
}
}