260. 只出现一次的数字 III 【位运算】
生活随笔
收集整理的這篇文章主要介紹了
260. 只出现一次的数字 III 【位运算】
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
https://leetcode-cn.com/problems/single-number-iii/
首先成對(duì)的都會(huì)刪除。只會(huì)剩下兩個(gè)不是一對(duì)的數(shù)。
首先不難看出 兩個(gè)數(shù)不同,異或后一定會(huì)有一個(gè)1。而這個(gè)1 一定來自這兩數(shù)中的其中一個(gè)數(shù)。
我們可以先將所有的數(shù)異或得到結(jié)果,找到哪一個(gè)位 是 1。
接著將所有的數(shù)中那個(gè)位是 1的進(jìn)行 異或運(yùn)算 。結(jié)果就是其中的一個(gè)數(shù),
因?yàn)槌蓪?duì)的數(shù)會(huì)消掉,而不成對(duì)的數(shù)一定只有一個(gè)那個(gè)位置是 1.
這樣就找到了一個(gè)數(shù)將 找到的數(shù) ,和當(dāng)時(shí)的異或和的結(jié)果異或就是另一個(gè)數(shù)。
總結(jié)
以上是生活随笔為你收集整理的260. 只出现一次的数字 III 【位运算】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 476. 数字的补数 【位运算】
- 下一篇: 第七章:贪心习题