Re: [閒聊] 每日LeetCode已回收

看板Marginalman作者 (赫茲/1.048596)時間2年前 (2023/11/30 10:19), 編輯推噓5(503)
留言8則, 8人參與, 2年前最新討論串558/719 (看更多)
11/30 第i個bit要從1變成0的操作數為OPi OPi = 1 + 2*OP(i-1) 把1000000變成0000000的過程中 路徑上的任一個bit n 若為1 就可以節省OPn 例:10001000 = OP8-OP4 但如果再多一個bit m為1 就要多費功把他變回0 例:10001001 = OP8-OP4+OP1 所以就一直加減加減OPi 最後取絕對值 class Solution { public: int minimumOneBitOperations(int n) { int ope = 1; int base = 1; int ans = 0; while(n != 0){ if(n%2 == 1){ ans += ope*base; ope *= -1; } base = 1 + base*2; n /= 2; } return abs(ans); } }; 其實本來想不太到,列出來幾個才看出規律 感覺像考數字不是考程式2ㄏ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.131.92 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1701310748.A.BD3.html

11/30 10:19, 2年前 , 1F
大師
11/30 10:19, 1F

11/30 10:25, 2年前 , 2F
大師
11/30 10:25, 2F

11/30 10:28, 2年前 , 3F
大師
11/30 10:28, 3F

11/30 10:30, 2年前 , 4F
你怎麼也開始每日leetcode了
11/30 10:30, 4F

11/30 10:31, 2年前 , 5F
上班沒事就會寫啊 今天的比較有趣紀錄一下
11/30 10:31, 5F

11/30 10:32, 2年前 , 6F
大師
11/30 10:32, 6F

11/30 10:39, 2年前 , 7F
大師
11/30 10:39, 7F

11/30 11:22, 2年前 , 8F
怎麼又一個JAVA解題 你版剩我不會JAVA了嗎
11/30 11:22, 8F
文章代碼(AID): #1bP_4SlJ (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1bP_4SlJ (Marginalman)