Re: [閒聊] 每日leetcode
看板Marginalman作者enmeitiryous (enmeitiryous)時間1年前 (2024/08/22 09:35)推噓2(2推 0噓 2→)留言4則, 4人參與討論串752/1548 (看更多)
前兩天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
推
08/22 09:37,
1年前
, 1F
08/22 09:37, 1F
→
08/22 09:57,
1年前
, 2F
08/22 09:57, 2F
推
08/22 11:11,
1年前
, 3F
08/22 11:11, 3F
→
08/22 13:44,
1年前
, 4F
08/22 13:44, 4F
討論串 (同標題文章)
完整討論串 (本文為第 752 之 1548 篇):