計蒜客 單獨的數字(位運算)

2021-08-01 09:02:33 字數 571 閱讀 8954

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

如:,找出 7。

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

輸入格式

第一行輸入乙個數n(1≤n≤500),代表陣列的長度。

接下來一行輸入 n 個 int 範圍內(−2147483648…2147483647)的整數,表示陣列 a。保證輸入的陣列合法。

輸出格式

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

樣例輸入

4 0 0 0 5

樣例輸出

ac**:

#include#include#includeusing namespace std;

const int maxn=500+10;

int a[maxn];

int n;

int main()

for(int i=0;i>1;

}}

int cnt=0;

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

int t=sum[i]<

計蒜客 單獨的數字

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

計蒜客 單獨的數字

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

計蒜客 單獨的數字

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