處女座點名

鏈接:https://ac.nowcoder.com/acm/contest/329/C
來源:牛客網

時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 262144K,其他語言524288K
64bit IO Format: %lld
題目描述

處女座覺得自己手上的經費可能不太夠,於是決定給牛逼學生們帶家教。

一天他去上課用自己的火眼金睛感覺教室裏有一個學生沒有來,於是他就叫學生們報出自己的學號。

已知這個班上的學號是從1開始連續編號的,處女座告訴你這個班上有多少人,想問問你到底是誰沒有來。
輸入描述:
輸入數據共兩行,第一行爲一個整數N,表示班上的學生數量。

第二行爲一行N-1個整數,表示已經來的學生的學號,按升序給出。
輸出描述:
輸出一個整數,爲沒有來的學生的學號。
示例1
輸入
複製
3
1 3
輸出
複製
2
備註:
2

N

200
,
000

思路:本來是打算直接一個循環就查出缺的就行,結果一直WA,說返回非零。改成數組查才AC,憋屈啊

錯誤代碼:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long n=sc.nextLong();
        long index=0;
        for(long i=1;i<=n;i++){
            long temp=sc.nextLong();
            if(temp!=i){
                index=i;
                i++;
            }
        }
        System.out.println(index);
        sc.close();
    }
}

AC代碼:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int index=0;
        int []num=new int[n+1];
        for(int i=1;i<n;i++){
            num[i]=sc.nextInt();
        }
        for(int i=1;i<=n;i++){
            if(num[i]!=i){
                index=i;
                break;
            }
        }
        System.out.println(index);
        sc.close();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章