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;
}
};

Link

Reference for JS solution

--

--