解法一:
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 ...