小公尺OJ 2 找出單獨出現的數字

2021-09-11 08:15:28 字數 811 閱讀 4434

解法一:

map1.45 ms

#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

int main()

}system("pause");

return 0;

}

解法二:

因為題目提出「其中僅有乙個數字出現過一次,其他數字均出現過兩次」,即可以利用異或計算

乙個數字異或它自己結果為0,異或0結果為它自己即a^a=0,a^0=a,且異或滿足a^b^c=a^(b^c)。

因此我們可以設定乙個ret異或每個元素,最後相同的都抵消為0,那個唯一的數字異或0為它自己即為答案。

1.97 ms

#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

int main()

int ret = 0;

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

printf("%d",ret);

system("pause");

return 0;

}

收藏

小公尺OJ 2(找出單獨出現的數字)

找出單獨出現的數字 序號 2 難度 有挑戰 時間限制 1000ms 記憶體限制 10m描述 給出n個數字。其中僅有乙個數字出現過一次,其他數字均出現過兩次,找出這個出現且只出現過一次的數字。要求時間和空間複雜度最小。輸入輸入多個數字,每個數字以空格分開。數字數量 n 20,輸入數字的最大值小於 25...

小公尺OJ 2 找出單獨出現的數字

解法一 map1.45 ms include include include include include include include include include include include include include include using namespace std int...

小公尺oj記錄 (二)找出單獨出現的數字

描述 給出n個數字。其中僅有乙個數字出現過一次,其他數字均出現過兩次,找出這個出現且只出現過一次的數字。要求時間和空間複雜度最小。輸入 輸入多個數字,每個數字以空格分開。數字數量 n 20,輸入數字的最大值小於 256.輸出 輸出內容為只出現過唯一一次的數字 輸入樣例 10 10 11 12 12 ...