作者enmeitiryous (enmeitiryous)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Thu Aug 22 09:35:36 2024
前兩天DP都不會,版上有推薦是先寫75裡面的dp部分還是leetcode dp標籤的題目嗎
題目:
476. Number Complement
給一個數字num,求他的無號補數
思路:
可以很直觀用數學的方式知道這個補數會是pow(2,num的binary長度)-1-num,如果
是用bitwise的角度去看是對每一個bit做nand 1,由於是無號的所以先對num做not運算
再每一個位元對1做and
int findComplement(int num) {
int g=num;
int y=0;
while(num){
y=(y<<1)|1;
num>>=1;
}
return ~g&y;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.251.203 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1724290538.A.AAB.html
推 JIWP: 別卷了 08/22 09:37
→ DJYOMIYAHINA: 75寫完還是不會 對ㄚ== 08/22 09:57
推 smart0eddie: 大師 08/22 11:11
→ dont: 大師 08/22 13:44