固执无罪,梦想无价

|

StimuMing

园龄:4年5个月粉丝:0关注:2

1342. 将数字变成 0 的操作次数_2022_01_30 新年快乐!🌈🎉🎊🎆🎇

1342. 将数字变成 0 的操作次数

给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。

示例 1:

输入:num = 14
输出:6
解释:
步骤 1) 14 是偶数,除以 2 得到 7
步骤 27 是奇数,减 1 得到 6
步骤 36 是偶数,除以 2 得到 3
步骤 43 是奇数,减 1 得到 2
步骤 52 是偶数,除以 2 得到 1
步骤 61 是奇数,减 1 得到 0

示例 2:

输入:num = 8
输出:4
解释:
步骤 18 是偶数,除以 2 得到 4
步骤 24 是偶数,除以 2 得到 2
步骤 32 是偶数,除以 2 得到 1
步骤 41 是奇数,减 1 得到 0

示例 3:

输入:num = 123
输出:12

提示:

  • 0 <= num <= 10^6

Solution

​func numberOfSteps(num int) (i int) {
i = 0
for num != 0 {
if num % 2 == 1 {
num--
} else {
num = num >> 1
}
i++
}
return
}
posted @   StimuMing  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起