PermMissingElem


🔗 質問リンク


https://app.codility.com/programmers/lessons/3-time_complexity/perm_missing_elem/start/

問題の説明


An array A consisting of N different integers is given. The array contains integers in the range [1..(N + 1)], which means that exactly one element is missing.
Your goal is to find that missing element.
Write a function:
def solution(A)
that, given an array A, returns the value of the missing element.
For example, given array A such that:
A[0] = 2
A[1] = 3
A[2] = 1
A[3] = 5
the function should return 4, as it is the missing element.

⚠▼制限


  • N is an integer within the range [0..100,000];

  • the elements of A are all distinct;

  • each element of array A is an integer within the range [1..(N + 1)].
  • 💡 プール(言語:Java)


    まずソートしてこそ、漏れた数字を最も速く、最も簡単に見つけることができます.発見数が1の重複文インデックス+1の値でない場合,正解である.繰り返し文が見つからない場合は、すべての要素が順番に存在し、次の数字=長さ+1が正解です.

    Java

    import java.util.Arrays;
    
    class Solution {
        public int solution(int[] A) {
            Arrays.sort(A);
            for (int i = 0; i < A.length; i++) {
                if (A[i] != i+1)
                    return i+1;
            }
            return A.length+1;
        }
    }