只出現(xiàn)一次的數(shù)字 II

從網(wǎng)上找的大神的解法锭部,略難理解

題目描述:

給定一個非空整數(shù)數(shù)組,除了某個元素只出現(xiàn)一次以外面褐,其余每個元素均出現(xiàn)了三次拌禾。找出那個只出現(xiàn)了一次的元素。

說明:

你的算法應(yīng)該具有線性時間復(fù)雜度展哭。 你可以不使用額外空間來實現(xiàn)嗎湃窍?

示例 1:

輸入:[2,2,3,2]輸出:3

示例?2:

輸入:[0,1,0,1,0,1,99]輸出:99


解題如下:

public class Solution1 {

public static void main(String[] args) {

Solution1 solution1 =new Solution1();

int[] nums = {5,1,5,1,5,1,99};

System.out.println(solution1.singleNumber(nums));

}

/*

如果是出現(xiàn)兩次的話,用一個bit就可以

比如 b摄杂,初始為0

當(dāng)5第1次出現(xiàn)時坝咐, b=5

當(dāng)5第2次出現(xiàn)是, b清空為0析恢,表示b可以去處理其他數(shù)字了

所以墨坚,最后 如果 b !=0的話,b記錄的就是只出現(xiàn)了一次的那個數(shù)字

->公式就是 b = b xor i? 或者 b = b^i

那么映挂,如果是三次的話泽篮,香濃定理,需要用2bits進行記錄

當(dāng)5第一次出現(xiàn)的時候柑船,b = 5, a=0,? b記錄這個數(shù)字

當(dāng)5第二次出現(xiàn)的時候帽撑,b = 0, a=5, a記錄了這個數(shù)字

當(dāng)5第三次出現(xiàn)的時候鞍时,b = 0, a=0亏拉, 都清空了扣蜻,可以去處理其他數(shù)字了

所以,如果有某個數(shù)字出現(xiàn)了1次及塘,就存在b中莽使,出現(xiàn)了兩次,就存在a中笙僚,所以返回 a|b

公式方面 芳肌,上面兩次的時候,b清空的公式是 b = b xor i

而第三次時肋层,b要等于零亿笤,而這時a是True,所以再 & 一個a的非就可以栋猖,b = b xor & ~a

-> b = b xor i & ~ a

a = a xor i & ~b

**/

? ? public int singleNumber(int[] nums) {

int a =0;

int b =0;

for (int in : nums) {

b = (b ^ in) & ~a;

a = (a ^ in) & ~b;

}

return a | b;

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末净薛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子掂铐,更是在濱河造成了極大的恐慌罕拂,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件全陨,死亡現(xiàn)場離奇詭異,居然都是意外死亡衷掷,警方通過查閱死者的電腦和手機辱姨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來戚嗅,“玉大人雨涛,你說我怎么就攤上這事∨嘲” “怎么了替久?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長躏尉。 經(jīng)常有香客問我蚯根,道長,這世上最難降的妖魔是什么胀糜? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任颅拦,我火速辦了婚禮,結(jié)果婚禮上教藻,老公的妹妹穿的比我還像新娘距帅。我一直安慰自己,他們只是感情好括堤,可當(dāng)我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布碌秸。 她就那樣靜靜地躺著绍移,像睡著了一般。 火紅的嫁衣襯著肌膚如雪讥电。 梳的紋絲不亂的頭發(fā)上蹂窖,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天,我揣著相機與錄音允趟,去河邊找鬼恼策。 笑死,一個胖子當(dāng)著我的面吹牛潮剪,可吹牛的內(nèi)容都是我干的涣楷。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼抗碰,長吁一口氣:“原來是場噩夢啊……” “哼狮斗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起弧蝇,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤碳褒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后看疗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沙峻,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年两芳,在試婚紗的時候發(fā)現(xiàn)自己被綠了摔寨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡怖辆,死狀恐怖是复,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情竖螃,我是刑警寧澤淑廊,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站特咆,受9級特大地震影響季惩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜坚弱,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一蜀备、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧荒叶,春花似錦碾阁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宪睹。三九已至,卻和暖如春蚕钦,著一層夾襖步出監(jiān)牢的瞬間亭病,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工嘶居, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留罪帖,地道東北人。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓邮屁,卻偏偏與公主長得像整袁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子佑吝,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,860評論 2 361