当前位置:网站首页>力扣6_1342. 将数字变成 0 的操作次数
力扣6_1342. 将数字变成 0 的操作次数
2022-07-08 00:39:00 【上课不要睡觉了】
给你一个非负整数 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
来源:力扣(LeetCode)
两种解法使用的原理均是根据二进制数的特性,根据所在位的0或1的情况确定对应的步骤数。
Java解法
class Solution {
public int numberOfSteps(int num) {
int ret = 0;
while (num > 0) {
ret += (num > 1 ? 1 : 0) + (num & 0x01);
//将&符号两边的数字转化成二进制,进行按位与运算
num >>= 1;
}
return ret;
}
}
Python解法
class Solution:
def numberOfSteps(self, num: int) -> int:
ans = 0
while num:
ans += num & 1
if num > 1:
ans += 1
num >>= 1
return ans
边栏推荐
- SQLite3 data storage location created by Android
- 【目标跟踪】|atom
- Ml backward propagation
- CV2 read video - and save image or video
- metasploit
- Mysql database (2)
- The numerical value of the number of figures thought of by the real-time update of the ranking list
- Why does the updated DNS record not take effect?
- Nacos microservice gateway component +swagger2 interface generation
- In depth analysis of ArrayList source code, from the most basic capacity expansion principle, to the magic iterator and fast fail mechanism, you have everything you want!!!
猜你喜欢

很多小伙伴不太了解ORM框架的底层原理,这不,冰河带你10分钟手撸一个极简版ORM框架(赶快收藏吧)

云原生应用开发之 gRPC 入门

Give some suggestions to friends who are just getting started or preparing to change careers as network engineers

谈谈 SAP iRPA Studio 创建的本地项目的云端部署问题

Voice of users | understanding of gbase 8A database learning

List of top ten domestic industrial 3D visual guidance enterprises in 2022

XXL job of distributed timed tasks

Nmap tool introduction and common commands

Capability contribution three solutions of gbase were selected into the "financial information innovation ecological laboratory - financial information innovation solutions (the first batch)"

谈谈 SAP 系统的权限管控和事务记录功能的实现
随机推荐
由排行榜实时更新想到的数状数值
Codeforces Round #649 (Div. 2)——A. XXXXX
VIM string substitution
很多小伙伴不太了解ORM框架的底层原理,这不,冰河带你10分钟手撸一个极简版ORM框架(赶快收藏吧)
MySQL查询为什么没走索引?这篇文章带你全面解析
静态路由配置全面详解,静态路由快速入门指南
Why did MySQL query not go to the index? This article will give you a comprehensive analysis
软件测试笔试题你会吗?
咋吃都不胖的朋友,Nature告诉你原因:是基因突变了
Nacos microservice gateway component +swagger2 interface generation
Redux usage
Keras' deep learning practice -- gender classification based on inception V3
[error] error loading H5 weight attributeerror: 'STR' object has no attribute 'decode‘
如何用Diffusion models做interpolation插值任务?——原理解析和代码实战
The method of using thread in PowerBuilder
#797div3 A---C
CV2 read video - and save image or video
cv2-drawline
Remote Sensing投稿經驗分享
Applet running under the framework of fluent 3.0