天天看點

基礎練習 查找整數-藍橋杯-Java

問題描述

給出一個包含n個整數的數列,問整數a在數列中的第一次出現是第幾個。

輸入格式

第一行包含一個整數n。

第二行包含n個非負整數,為給定的數列,數列中的每個數都不大于10000。

第三行包含一個整數a,為待查找的數。

輸出格式

如果a在數列中出現了,輸出它第一次出現的位置(位置從1開始編号),否則輸出-1。

樣例輸入

6

1 9 4 8 3 9

9

樣例輸出

2

資料規模與約定

1 <= n <= 1000。

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main{
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    List list = new ArrayList();
    for (int i = 0; i < n; i++) {
      list.add(sc.nextInt());
    }
    int findNum = sc.nextInt();
    if(list.contains(findNum)){
      System.out.println(list.indexOf(findNum)+1);// 注意:位置從1開始編号
    }else{
      System.out.println(-1); //本身indexOf(Object o)方法可以根據是否存在o來傳回相應索引 
                                               //以及若不存在則傳回-1,但由于編号由1開始,需加1,故必須進行一次判斷
    }
  }
}