find all disappear num


Submit solution

Points: 40 (partial)
Time limit: 1.0s
Memory limit: 256M

Authors:
Problem type
Allowed languages
Java 19, Java 8

題目說明

給定一個由 n 個整數組成的陣列 nums,其中 nums[i][1, n] 範圍內,
傳回 [1, n] 範圍內所有未出現在 nums 中的整數組成的陣列。

輸入限制
n == nums.length
1 <= n <= 105
1 <= nums[i] <= n

輸入

n,數列

輸出

傳回1~n未出現的數

測試資料 輸入

8 4 3 2 7 8 2 3 1

測試資料 輸出

[5, 6]

測試資料 輸入

2 1 1

測試資料 輸出

[2]

Comments


  • 0
    scu09156146  commented on May 29, 2024, 11:31 a.m.

    題解

    參考LeetCode448

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    public class FindDisappearNum {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner in = new Scanner(System.in);
            ArrayList<Integer> nums = new ArrayList<>();
            int n = in.nextInt();           // 陣列長度n
            for (int i = 0; i < n; i++) {
                nums.add(in.nextInt());     // 將輸入的所有整數加到陣列
            }
            in.close();
    
            List<Integer> list = new ArrayList<>();
            for (Integer i = 1; i <= n; i++) {
                // 檢查ArrayList是否包含1~n所有整數
                if (!nums.contains(i))
                    list.add(i); // 把不包含的整數加到List
            }
    
            // 印出結果
            System.out.print(list);
        }
    
    }