目录

Leetcode - 将数字变成0的操作次数

将数字变成0的操作次数

给你一个非负整数 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

解答

java 复制代码
public static int numberOfSteps(int num) {
    int count = 0;
    while (num != 0) {
        num = num % 2 == 0 ? num / 2 : num - 1;
        count++;
    }
    return count;
}
本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
老华带你飞39 分钟前
医药垃圾分类管理系统|基于SSM+vue医药垃圾分类管理系统的系统设计与实现(源码+数据库+文档)
java·数据库·vue·毕业设计·论文·ssm·医药垃圾分类管理系统
程序员小续43 分钟前
React 多个 HOC 嵌套太深,会带来哪些隐患?
java·前端·javascript·vue.js·python·react.js·webpack
Fantasydg2 小时前
DAY 38 leetcode 15--哈希表.三数之和
算法·leetcode·散列表
rider1892 小时前
【9】搭建k8s集群系列(二进制部署)之安装work-node节点组件(kube-proxy)和网络组件calico
java·容器·kubernetes
编程绿豆侠2 小时前
力扣HOT100之链表:19. 删除链表的倒数第 N 个结点
算法·leetcode·链表
ゞ 正在缓冲99%…2 小时前
leetcode274.H指数
java·算法·leetcode
旷野本野4 小时前
【Java】Maven
java·开发语言·maven
坊钰4 小时前
【MySQL 数据库】数据类型
java·开发语言·前端·数据库·学习·mysql·html
药尘师4 小时前
idea运行tomcat项目,很慢的问题
java·ide·intellij-idea
Kale又菜又爱玩4 小时前
Sentinel全面解析与实战教程
java·spring·微服务·sentinel·springboot·springcloud