10. Single Number (#136) [EASY]

Kelly Tran
Nov 4, 2020

--

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.

My solution: O(n)

class Solution:
def singleNumber(self, nums: List[int]) -> int:
return sum(set(nums)) * 2 - sum(nums)

Another one using ^=

ret = nums[0]
for num in nums[1:]:
ret ^= num
return ret

--

--

Kelly Tran
Kelly Tran

Written by Kelly Tran

My leetcode journey as a non background learning CS. https://kellytranha.github.io/

No responses yet