코딩/코딜리티(Codility)

[알고리즘/Java] 코딜리티(Codility) Lesson 3-2 PermMissingElem

알라르방 2021. 6. 2. 21:25

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:

class Solution { public int solution(int[] 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.

Write an efficient algorithm for the following assumptions:

  • 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)].

 

 

 

 

 

Solution)

// you can also use imports, for example:

import java.util.*;

 

// you can write to stdout for debugging purposes, e.g.

// System.out.println("this is a debug message");

 

class Solution {

    public int solution(int[] A) {

        // write your code in Java SE 8

        int length = A.length;

        if(length == 0){

            return 1;

        }

 

        Arrays.sort(A);

 

        for(int i=0; i<length; i++){

            if(A[i] != i+1){

                return i+1;

            }

        }

        return A[length-1]+1;

    }

}

 

반응형