Re: [閒聊] 每日leetcode

看板Marginalman作者 (全糖可可粉)時間1年前 (2024/05/30 01:24), 編輯推噓1(101)
留言2則, 1人參與, 1年前最新討論串294/1554 (看更多)
※ 引述《JIWP (神楽めあ的錢包)》之銘言: : 1404. Number of Steps to Reduce a Number in Binary Representation to One : 有一個二進位的整數以字串形式表示 : 可以做以下2種處理 : 1.如果現在的數字是偶數那除以2 : 2.如果現在的數字是奇數那+1 : 請問要做幾次操作才可以把這個數字變成1? 你們都會數學 剩我用字串暴力拆了 public int NumSteps(string s) { var sb = new StringBuilder(s); var steps = 0; while (sb.Length > 1) { var n = sb.Length-1; if (sb[n] == '0') { sb.Length--; } else { while (n >= 0 && sb[n] == '1') { sb[n] = '0'; n--; } if (n >= 0) { sb[n] = '1'; } else { sb.Insert(0, '1'); } } steps++; } return steps; } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.230.52.80 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1717003480.A.7CC.html

05/30 01:25, 1年前 , 1F
沒R 我就模擬 我感覺有一行漂亮的數學解
05/30 01:25, 1F

05/30 01:25, 1年前 , 2F
但我想不到
05/30 01:25, 2F
文章代碼(AID): #1cLsJOVC (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cLsJOVC (Marginalman)