LeetCode 코딩 문제 2021/05/21 - Find the Duplicate Number

이호현·2021년 5월 21일
0

Algorithm

목록 보기
119/138

[문제]

Given an array of integers nums containing n + 1 integers where each integer is in the range [1, n] inclusive.

There is only one repeated number in nums, return this repeated number.

You must solve the problem without modifying the array nums and uses only constant extra space.

Example 1:

Input: nums = [1,3,4,2,2]
Output: 2

Example 2:

Input: nums = [3,1,3,4,2]
Output: 3

Example 3:

Input: nums = [1,1]
Output: 1

Example 4:

Input: nums = [1,1,2]
Output: 1

(요약) 주어진 배열에서 중복된 숫자를 찾아라.

[풀이]

var findDuplicate = function(nums) {
  const obj = {};
 
  for(let i = 0, len = nums.length; i < len; i++) {
    if(obj[nums[i]]) {
      return nums[i];
    }
    else {
      obj[nums[i]] = 1;
    }
  }
};

nums를 처음부터 순회하면서 객체에 키값으로 요소를 만들어주다가 이미 있는 키값이면 그 값을 return.

profile
평생 개발자로 살고싶습니다

0개의 댓글