검지offer 소객망 면접문제 3:수조에서 중복된 숫자

986 단어 면접 시험
법1:해시표
public static boolean duplicate(int numbers[], int length, int[] duplication) {
        int[] hash = new int[length];
        for(int i = 0; i < length; i++){
            hash[numbers[i]]++;
        }
        for(int i = 0; i < length; i++){
            if(hash[i] > 1){
                duplication[0] = i;
                return true;
            }
        }

        return false;
}

duplication[0]은 C 언어의 *duplication에 해당합니다.
메서드2: Map
public static boolean duplicate(int numbers[], int length, int[] duplication) {
        if(length <= 0)
            return false;

        Map map = new HashMap<>();
        for(int i = 0; i < length; i++){
            if(map.containsKey(numbers[i])){
                duplication[0] = numbers[i];
                return true;
            }else{
                map.put(numbers[i],1);
            }
        }
        return false;
    }

법3:

좋은 웹페이지 즐겨찾기