1
class Solution:
2
def singleNonDuplicate(self, nums: List[int]) -> int:
3
return self.b_search(nums)[0]
4

5
def b_search(self, nums):
6
if len(nums) == 1:
7
return nums
8
mid = len(nums) // 2
9
a = nums[:mid]
10
b = nums[mid:]
11

12
# check if last & first element of the two sub lists are same
13
if a[-1] == b[0]:
14
a = a[:-1]
15
b = b[1:]
16

17
# ignore the sub list with even number of elements
18
if len(a) % 2:
19
return self.b_search(a)
20
else:
21
return self.b_search(b)

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0