描述
给出 2 * n + 1个数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。
n≤100
样例 1:
输入:
A = [1,1,2,2,3,4,4]
输出:
3
解释:
仅3出现一次
样例 2:
输入:
A = [0,0,1]
输出:
1
解释:
仅1出现一次
from typing import (
List,
)
class Solution:
"""
@param a: An integer array
@return: An integer
"""
def single_number(self, a: List[int]) -> int:
# write your code here
a = sorted(a)
l = len(a)
if l == 1:
return a[0]
if a[l-1] != a[l-2]:
return a[l-1]
else:
for i in range(l-1):
if a[i] != a[i-1] and a[i] != a[i+1]:
return a[i]
挖坑:用二分法做