計蒜客 單獨的數字

2021-08-04 08:51:12 字數 734 閱讀 5513

給定乙個陣列 a

a,除了乙個數出現一次之外,其餘數都出現三次。找出出現一次的數。

如:\,找出 77。

你的演算法只能是線性時間的複雜度,並且不能使用額外的空間哦~

第一行輸入乙個數 n(1 \leq n \leq 500)n(

1≤n≤

500)

,代表陣列的長度。

接下來一行輸入 n

n 個 int 範圍內(-2147483648\ldots 2147483647−2

1474

8364

8…21

4748

3647

)的整數,表示陣列 a

a。保證輸入的陣列合法。

輸出乙個整數,表示陣列中只出現一次的數。

樣例輸入

4

0 0 0 5

樣例輸出

5
int 二進位制下共32位,每出現3個數,統計可得32位出現次數餘3為0,若只出現一次,其出現次數餘3為1,所以通過統計 各個 位數出現次數,判斷多出來什麼數。。

#include#include#include#includeusing namespace std;

int main()

; while(n--)

int pow2=1,ans=0;

for(int i=0; i<32; i++)

cout<

計蒜客 單獨的數字

給定乙個陣列 a,除了乙個數出現一次之外,其餘數都出現三次。找出出現一次的數。如 找出 7。你的演算法只能是線性時間的複雜度,並且不能使用額外的空間哦 輸入格式 第一行輸入乙個數n 1 n 500 代表陣列的長度。接下來一行輸入 n 個 int 範圍內 2147483648 2147483647 的...

計蒜客 單獨的數字

單獨的數字 給定乙個陣列 aa a,除了乙個數出現一次之外,其餘數都出現三次。找出出現一次的數。如 找出 777。你的演算法只能是線性時間的複雜度,並且不能使用額外的空間哦 第一行輸入乙個數 n 1 n 500 n 1 leq n leq 500 n 1 n 500 代表陣列的長度。接下來一行輸入 ...

計蒜客 單獨的數字

給定乙個陣列 aa,除了乙個數出現一次之外,其餘數都出現三次。找出出現一次的數。如 找出 77。你的演算法只能是線性時間的複雜度,並且不能使用額外的空間哦 輸入格式 第一行輸入乙個數 n 1 leq n leq 500 n 1 n 500 代表陣列的長度。接下來一行輸入 nn 個 int 範圍內 2...