Leetcode Java Find All Duplicates in an Array

업데이트:

문제

Link

코드

class Solution {

  public List<Integer> findDuplicates(int[] nums) {
    List<Integer> result = new ArrayList<>();
    int[] count = new int[nums.length];
    for (int num : nums) {
      count[num - 1]++;
    }
    for (int idx = 0; idx < count.length; idx++) {
      if (count[idx] == 2) {
        result.add(idx + 1);
      }
    }
    return result;
  }

}

결과

Link

설명

  1. 정수 배열 nums 내 중복된 값을 찾는 문제이다.

  2. 문제 풀이에 필요한 변수를 정의한다.
    • result는 중복된 정수를 저장하기 위한 변수로, ArrayList로 정의한다.
    • count는 중복된 값을 찾기 위한 변수로, nums의 길이만큼의 크기로 초기화한다.
  3. nums를 반복하여 count의 $num - 1$ 위치의 값을 증가시킨다.

  4. count를 반복하여, count가 2인 값들을 result에 넣어준다.

  5. 중복된 값들을 저장한 result를 주어진 문제의 결과로 반환한다.

소스

Sample Code는 여기에서 확인 가능합니다.

댓글남기기