LeetCode如何解决二进制中1的个数问题
发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,这篇文章主要介绍了LeetCode如何解决二进制中1的个数问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。题目请实现一个函数,输入一
千家信息网最后更新 2024年11月29日LeetCode如何解决二进制中1的个数问题
这篇文章主要介绍了LeetCode如何解决二进制中1的个数问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
题目
请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。
示例 1:
输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。
示例 2:
输入:00000000000000000000000010000000输出:1解释:输入的二进制串 00000000000000000000000010000000 中,共有一位为 '1'。
示例 3:
输入:11111111111111111111111111111101输出:31解释:输入的二进制串 11111111111111111111111111111101 中,共有 31 位为 '1'。
思路
作者:jyd
逐位判断
根据 与运算 定义,设二进制数字 nn ,则有:
若 n & 1 = 0n&1=0 ,则 nn 二进制 最右一位 为 00 ;
若 n & 1 = 1n&1=1 ,则 nn 二进制 最右一位 为 11 。
根据以上特点,考虑以下 循环判断 :
判断 nn 最右一位是否为 11 ,根据结果计数。
将 nn 右移一位(本题要求把数字 nn 看作无符号数,因此使用 无符号右移 操作)
步骤
初始化数量统计变量 res =0 。
循环逐位判断: 当 n =0 时跳出。
res += n & 1 : 若 n & 1 = 1n&1=1 ,则统计数 resres 加一。
n >>= 1 : 将二进制数字 nn 无符号右移一位( Java 中无符号右移为 ">>>" ) 。
返回统计数量 res
皮一下
public class Solution { // you need to treat n as an unsigned value public int hammingWeight(int n) { return Integer.bitCount(n); }}
代码
public class Solution { // you need to treat n as an unsigned value public int hammingWeight(int n) { int res = 0; while(n != 0){ res += n &1; n >>>= 1; } return res; }}
感谢你能够认真阅读完这篇文章,希望小编分享的"LeetCode如何解决二进制中1的个数问题"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
二进制
输入
输出
篇文章
个数
数字
示例
符号
统计
解释
问题
函数
数量
循环
代码
价值
作者
兴趣
变量
号数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机网络技术有那些课程
校园网络安全问题.
互联网科技公司中年危机
长安幻世绘多久开一个服务器
儿童青少年网络安全手抄报图片
南昌棋牌游戏软件开发公司
我的世界蛋糕战争在哪个服务器里
绝地求生服务器怎么识别
概念模型表达的是数据库的
华为存储磁盘阵列和服务器区别
淘宝车牌数据库
erp软件开发的发展现状
浪潮添加服务器怎样添加
c etl数据库
翻墙服务器停止响应
河南新乡dns服务器虚拟主机
数据库连接安全登录界面
易纤通吉林网络技术有限公司
服务器系统选择
怎么创建一个数据库
无数据库模板app
企蒙软件开发公司
网络安全笔记本配置
FDA药品查询数据库
注册互联网科技公司要交税吗
众维网络技术有限公司
服务器常用端口号
网络安全法有关内容
网络安全培训资料免费
盐城销售管理软件开发平台