📖本篇内容:leetcode每日一题1342. 将数字变成 0 的操作次数 除夕新气象,所有的不愉快年末清零啦~
📑 文章专栏:leetcode每日一题《打卡日常》
📆 最近更新:2022年1月29日 leetcode每日一题1765. 地图中的最高点 简单的多源BFS最短路问题 模板题
🙊个人简介:一只二本院校在读的大三程序猿,本着注重基础,打卡算法,分享技术作为个人的经验总结性的博文博主,虽然可能有时会犯懒,但是还是会坚持下去的,如果你很喜欢博文的话,建议看下面一行~(疯狂暗示QwQ)
🌇 点赞 👍 收藏 ⭐留言 📝 一键三连 关爱程序猿,从你我做起
🙊写在前面🙊
除夕就不多bb了,新年快乐,家人们~
题目
给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。
示例
示例1:
输入:num = 14
输出:6
解释:
步骤 1) 14 是偶数,除以 2 得到 7 。
步骤 2) 7 是奇数,减 1 得到 6 。
步骤 3) 6 是偶数,除以 2 得到 3 。
步骤 4) 3 是奇数,减 1 得到 2 。
步骤 5) 2 是偶数,除以 2 得到 1 。
步骤 6) 1 是奇数,减 1 得到 0 。
示例2:
输入:num = 8
输出:4
解释:
步骤 1) 8 是偶数,除以 2 得到 4 。
步骤 2) 4 是偶数,除以 2 得到 2 。
步骤 3) 2 是偶数,除以 2 得到 1 。
步骤 4) 1 是奇数,减 1 得到 0 。
示例3:
输入:num = 123
输出:12
提示
0 <= num <= 10^6
📝思路📝
本题考察点:
- 新年新气象一道简单的模拟题哦~,力扣有心了,年末置零。
根据三叶姐的思路一起来写题哦~
⭐代码实现⭐
class Solution {
public int numberOfSteps(int num) {
int step = 0 ;
while (num != 0){
if (num % 2 == 0)
num/=2;
else{
num--;
}
step++;
}
return step;
}
}
运行结果
🙊写在最后🙊
2022-1-31今天小付打卡了哦~
今天是除夕,祝大家除夕快乐~
美好的日出 美好的山河
都因有你存在 而璀璨 耀眼