ETH官方钱包

前往
大廳
主題

LeetCode - 961. N-Repeated Element in Size 2N Array 解題心得

Not In My Back Yard | 2021-02-24 00:00:05 | 巴幣 0 | 人氣 152

題目連結(jié):


題目意譯:
在一個大小 2N 的陣列 A 中,有著 N + 1 種相異元素,且其中恰好一個元素重複出現(xiàn)了 N 次。

回傳重複出現(xiàn) N 次的那個元素。

注:
4 ≦ A.length ≦ 10000
0 ≦ A[i] < 10000
A.length 為偶數(shù)。



範例測資:
範例 1:
輸入: [1,2,3,3]
輸出: 3

範例 2:
輸入: [2,1,2,5,3,2]
輸出: 2

範例 3:
輸入: [5,1,5,2,5,3,5,4]
輸出: 5


解題思維:
因為這題會出現(xiàn)的值最大為 10000,所以直接開一個陣列統(tǒng)計 0 ~ 10000 之間所有數(shù)字的數(shù)量。

掃過陣列 A,一旦有數(shù)字出現(xiàn)超過 1 次(出現(xiàn)第二次),則代表該數(shù)字即是所求。

而如果數(shù)字很大,可以改為統(tǒng)計每一位元為 1 的次數(shù)(如這題的精神),掃過所有數(shù)字後再掃一次統(tǒng)計的位元,每個位元只要至少 n 次為 1,則代表該位元包含在所求數(shù)字中。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創(chuàng)作回應(yīng)

追蹤 創(chuàng)作集

作者相關(guān)創(chuàng)作

更多創(chuàng)作