Published in
Nov 4, 2020
Leetcode Algorithm
Single Number
Given a non-empty array of integers nums
, every element appears twice except for one. Find that single one.
Follow up: Could you implement a solution with a linear runtime complexity and without using extra memory?
Example 1:
Input: nums = [2,2,1]
Output: 1
Example 2:
Input: nums = [4,1,2,1,2]
Output: 4
Example 3:
Input: nums = [1]
Output: 1
Constraints:
1 <= nums.length <= 3 * 104
-3 * 104 <= nums[i] <= 3 * 104
- Each element in the array appears twice except for one element which appears only once.
Solutions:
Python —
class Solution:
def singleNumber(self, nums:List[int])-> int:
# create a set
hashset = set()
for i in range(0, len(nums)):
if nums[i] in hashset:
hashset.remove(nums[i])
else:
hashset.add(nums[i])
for j in hashset:
return j;
JS —
var singleNumber= function(nums){ const set1 = new Set(); for (i = 0; i < nums.length; i ++){ if (set1.has(nums[i])) set1.delete(nums[i]); else set1.add(nums[i]);
} for (let item of set1){ return item;
}
};