在C++中查詢陣列中只出現一次的元素,其他每個元素都出現兩次
假設我們有一個數組A。在這個陣列中,不同的數字出現兩次。但是隻有一個數字出現一次。我們必須從該陣列中找到該元素。
假設 A = [1, 1, 5, 3, 2, 5, 2],則輸出將為 3。由於每個數字都出現兩次,我們可以執行異或運算來消除該元素,因為我們知道 y XOR y = 0
為了解決這個問題,我們將遵循以下步驟。
取一個變數 res = 0
對於陣列 A 中的每個元素 e,執行 res := res XOR e
返回 res
示例
讓我們看看下面的實現,以便更好地理解:
class Solution(object): def singleNumber(self, nums): ans = nums[0] for i in range(1,len(nums)): ans ^=nums[i] return ans ob1 = Solution() print(ob1.singleNumber([1,1,5,3,2,5,2]))
輸入
[1,1,5,3,2,5,2]
輸出
3
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP