給出n個數字。其中僅有乙個數字出現過一次,其他數字均出現過兩次,找出這個出現且只出現過一次的數字。要求時間和空間複雜度最小。
輸入多個數字,每個數字以空格分開,回車結束
輸出內容為只出現過唯一一次的數字
10 10 11 12 12 11 16
16思路
常見的思路遍歷所有資料,用map、字典去記錄每個資料的出現次數,然後輸出value為1的變數。
還有一種方法是異或,相同的數字異或結果為0,數字與0異或結果為該數字,根據該思路,直接異或一次,
最終返回的結果就是僅出現一次的數字。
**
#此處可 import 模組
"""@param string line 為單行測試資料
@return string 處理後的結果
"""def
solution(line):
res =0
li =line.strip().split()
for i in
li: res ^=int(i)
return res
posted @
2018-09-02 09:34
lesroad 閱讀(
...)
編輯收藏
小公尺OJ 2 找出單獨出現的數字
解法一 map1.45 ms include include include include include include include include include include include include include include using namespace std int...
小公尺OJ 2(找出單獨出現的數字)
找出單獨出現的數字 序號 2 難度 有挑戰 時間限制 1000ms 記憶體限制 10m描述 給出n個數字。其中僅有乙個數字出現過一次,其他數字均出現過兩次,找出這個出現且只出現過一次的數字。要求時間和空間複雜度最小。輸入輸入多個數字,每個數字以空格分開。數字數量 n 20,輸入數字的最大值小於 25...
小公尺oj記錄 (二)找出單獨出現的數字
描述 給出n個數字。其中僅有乙個數字出現過一次,其他數字均出現過兩次,找出這個出現且只出現過一次的數字。要求時間和空間複雜度最小。輸入 輸入多個數字,每個數字以空格分開。數字數量 n 20,輸入數字的最大值小於 256.輸出 輸出內容為只出現過唯一一次的數字 輸入樣例 10 10 11 12 12 ...