Re: [閒聊] 每日leetcode
※ 引述《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
05/30 01:25, 1F
→
05/30 01:25,
1年前
, 2F
05/30 01:25, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 294 之 1554 篇):