第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于運算符^問題跪求!

關于運算符^問題跪求!

慕慕森 2019-08-21 20:01:29
題目描述給定一個包含0,1,2,...,n中n個數(shù)的序列,找出0..n中沒有出現(xiàn)在序列中的那個數(shù)。相關代碼varmissingNumber=function(nums){varres=nums.length;for(vari=0;i
查看完整描述

2 回答

?
婷婷同學_

TA貢獻1844條經(jīng)驗 獲得超8個贊

Bitwise_Operators#(按位異或)
varmissingNumber=function(nums){
varres=nums.length;
for(vari=0;ires=res^(i^nums[i]);
}
returnres;
};
首先異或不需要管順序。假設數(shù)組為連續(xù)[1,2...,n]數(shù)組,則nums.length必然與數(shù)組當中的某個值相等,即n^nums.length為0,因為x^0為x,所以若數(shù)據(jù)連續(xù),則必然有n-1與上訴過程相同邏輯。
反正就是消消樂的意思,假設nums為[1,2,3]則最后的結果為length異或每個值異或下標,也就是3^1^2^3^0^1^2。
PS:個人不建議使用這樣的代碼
                            
查看完整回答
反對 回復 2019-08-21
?
飲歌長嘯

TA貢獻1951條經(jīng)驗 獲得超3個贊

主要是兩個性質:
異或滿足交換律;
兩個bits異或,若相同則為0;若相異則為1。
簡化下問題,比如給定數(shù)組[0,1,2,3,5],它是少一個4的,現(xiàn)在我們要把4找出來。
(0^1^2^3^4^5)^(0^1^2^3^5)=
(0^0)^(1^1)^(2^2)^(3^3)^(5^5)^4=
0^0^0^0^0^4=
4
就像上面一位朋友說的,消消樂,這個說法形象。
單單針對這道題(老題目了)來說,這個解法應該是最佳的。
在實際項目中,位運算不是不能用,反而是建議你多用,但前提是你,會用,用對,且必須要有注釋,沒有這三個,還是老實本分點比較好。
基本的位運算,參考https://subetter.com/articles...。
牛逼一點的,參考書籍《算法心得高效算法的奧秘》,此書已快絕版,且異常燒腦。
                            
查看完整回答
反對 回復 2019-08-21
  • 2 回答
  • 0 關注
  • 291 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號