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
.