找出陣列中僅僅乙個出現兩次的數

2022-09-05 00:06:26 字數 432 閱讀 9646

可以使用列表解析+count簡單實現:

def

get_ele(alist):

return [i for i in alist if alist.count(i) == 2][0]

print get_ele([1,2,3,-1,-1])

乙個列表中只有乙個數字出現了一次,其他都出現了兩次,可以這麼寫, 利用異或運算的性質:

get_once_ele = lambda alist: reduce(lambda a,b: a ^b, alist)

print get_once_ele([2, 2, 1, 1, 4])

print get_once_ele([1, 1, 0, 2, 3, 2, 3])

print get_once_ele([-1, 0, 0, 2, 2])

第六十一題(找出陣列中兩個僅僅出現一次的數字)

題目 乙個整型陣列裡除了兩個數字之外,其它的數字都出現了兩次。請敲 找出這兩個僅僅出現一次的數字。要求時間複雜度是o n 空間複雜度是o 1 思路 先對全部資料進行異或得到結果result,兩兩同樣的資料異或結果為0。因此result為兩個僅僅出現1次的數字異或的結果,求得result左邊第乙個值為...

找出陣列中只出現一次的數

今天來看一道有意思的題,看起來很簡單,但是要想到滿足要求的答案沒那麼容易。有乙個非空整形陣列,除了有乙個只出現過一次的數,其他的數都出現且只出現過兩次,現要求找出這個只出現過一次的數。時間複雜度不能超過 o n 而且不能使用額外空間。大概意思就是,比如從 5,5,8,8,6,9,9 陣列中找出 6 ...

陣列中兩個數出現一次其餘出現兩次

有兩個數a b分別出現一次 其餘出現兩次 只要能找到乙個劃分乙個包含a 乙個包含b 對兩個分別使用找出出現一次的演算法 class solution public vectorsinglenumber vector nums int axorb 0 for int num nums axorb nu...