【小米oj】找出單獨的數字


題目鏈接:https://code.mi.com/problem/list/view?id=2&cid=0&sid=26251#codearea

 

描述

給出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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM