Single Number II

Given an integer array nums where every element appears three times except for one, which appears exactly once. Find the single element and return it.

You must implement a solution with a linear runtime complexity and use only constant extra space.

 

Example 1:

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

Example 2:

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

 

Constraints:

  • 1 <= nums.length <= 3 * 104
  • -231 <= nums[i] <= 231 - 1
  • Each element in nums appears exactly three times except for one element which appears once.
SOLUTION:
import bisect

class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        nums.sort()
        numset = set(nums)
        for num in numset:
            if bisect.bisect_left(nums, num) + 1 == bisect.bisect_right(nums, num):
                return num

Comments

Popular posts from this blog

Lazy Deletion in Heap: A Wrapper for Python heapq

Efficient Generation of Nth Row of Binomial Coefficient Modulo M

Sliding Window GCD