剑指 Offer 15. 二进制中1的个数(java+python)

2023-10-27

编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为 汉明重量).)。

提示:

请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。
在 Java 中,编译器使用 二进制补码 记法来表示有符号整数。因此,在上面的 示例 3 中,输入表示有符号整数 -3。

示例 1:

输入:n = 11 (控制台输入 00000000000000000000000000001011)
输出:3
解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'

示例 2:

输入:n = 128 (控制台输入 00000000000000000000000010000000)
输出:1
解释:输入的二进制串 00000000000000000000000010000000 中,共有一位为 '1'

示例 3:

输入:n = 4294967293 (控制台输入 11111111111111111111111111111101,部分语言中 n = -3)
输出:31
解释:输入的二进制串 11111111111111111111111111111101 中,共有 31 位为 '1'

提示:

输入必须是长度为 32 的 二进制串 。

java

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;
    }
}

python

class Solution(object):
    def hammingWeight(self, n):
        """
        :type n: int
        :rtype: int
        """
        res=sum(1 for i in range(32)if n&(1<<i))
        return res
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

剑指 Offer 15. 二进制中1的个数(java+python) 的相关文章

随机推荐

  • 怎样计算期货交易盈亏(期货交易盈利怎么算)

    期货怎么算挣了多少钱 1 浮动盈亏 就是结算机构根据当日交易的结算价 计算出会员未平仓合约的浮动盈亏 如果是正值 则表明多头浮动盈利或者空头浮动亏损 负值则刚好相反 公式如下 浮动盈亏 当天的结算价 开仓价格 合约单位 持仓量 手续费 2
  • 解决Android Studio编译报错:找不到NotNull或Nullable

    问题 在java代码中引入 import org jetbrains annotations NotNull import org jetbrains annotations Nullable 导致代码编译不过 找不到这两个类库 按照官方文
  • 后端学习React的第一天

    java后端了十几年了 曾经在学校写过一些jquery的前端代码 后来前端的框架越来越复杂 加上工作以后都是前后端分离的 并且自己美术功底本来也就不咋地 逐渐就放弃了前端技术 专职后端开发了 最近闲来无事 想写点有意思的小程序 发现没有前端
  • 教你如何用fiddler抓取https(详细教程)

    对于想抓取HTTPS的测试初学者来说 常用的工具就是fiddler 可是在初学时 大家对于fiddler如何抓取HTTPS真是伤了脑筋 可能你一步步按着网上的帖子成功了 那当然是极好的 有可能没有成功 这时候你就很抓狂了 我把网络上的教程进
  • python实现文件(夹)剪切

    自己的需求是这样的 有a和b两个目录 a目录下的文件 夹 要剪切到b目录下 我用下面这种形式来表达需求 不然说得比较乱 需求如下 a目录 1 文件 1 是日志文件 1 文件大小 lt 20m 跳过 2 日志文件 gt 20m 复制名加上当天
  • ssh连接不上Linux怎么办

    原因 被防火墙挡掉 ssh服务配置文件中的参数是否拒绝了连接等等 解决方法 一 开启SSH 以root用户登录Linux 打开终端 运行 etc init d sshd restrat 二 关闭防火墙 1 在终端运行 setup 2 选择
  • es6 处理数组的方法汇总

    目录 创建数组静态方法 ES6 Array from Array of 检测数组方法 instanceof Array isArray 迭代器方法 ES6 keys values entries 复制和填充方法 ES6 Array fill
  • 逻辑回归输出的值是真实的概率吗?

    本文只在博客基础上 在三 指数分布族中有所改动 逻辑回归作为被广泛使用的二分类模型 面试中自然是不可缺少的 但要深刻理解逻辑回归又不是那么容易的 比如说 逻辑回归输出的值是0到1之间的值 这个值是真实的概率吗 逻辑回归为什么要选择sigmo
  • layui树形美化_Layui导航树美化 - walkwithdream的个人空间 - OSCHINA - 中文开源技术交流社区...

    左侧导航 使用方法 skin sidebar layui tree skin sidebar li i color rgba 255 255 255 7 display none layui tree skin sidebar li a c
  • 学习Java——为什么java只有值传递

    目录 Java的求值策略 Java中的对象传递 值传递和共享对象传递冲突吗 总结 参考资料 Java的求值策略 前面我们介绍过了传值调用 传引用调用以及传值调用的特例传共享对象调用 那么 Java中是采用的哪种求值策略呢 很多人说Java中
  • 最优乘车问题/dijsktra最短路径算法

    城是一个旅游胜地 每年都有成千上万的人前来观光 为方便游客 巴士公司在各个旅游景点及宾馆 饭店等地都设置了巴士站 并开通了一些单向巴士线路 每条单向巴士线路从某个巴士站出发 依次途径若干个巴士站 最终到达终点巴士站 阿昌最近到 城旅游 住在
  • typora笔记工具使用详解

    Markdown使用笔记 首先本地使用安装教程 百度搜索typora第一个就是官网 地址为 typora下载地址 下载步骤如下 简单使用教程 3 Markdown标题 使用 号可表示 1 6 级标题 一级标题对应一个 号 二级标题对应两个
  • 读取.ini文件乱码的解决办法

    void CGetConfigInfo GetValueByKey QSettings seting const QString key QString value if seting nullptr value seting gt val
  • Memory write error at 0x100000. MMU section translation fault

    在使用vitis2020 2 JTAG调试MZ702P板子的时候会报下面的错误 原因都是启动模式没有设置到JTAG启动或SD启动 记得之前用SDK的时候好像没有这个问题 记录一下 备忘 Downloading Program F FPGA
  • ONVIF对讲功能漫谈

    ONVIF对讲功能漫谈 前言 一 onvif对讲功能和onvif协议关系大吗 二 如何上报设备支持onvif对讲功能呢 三 onvif协议中哪个接口上报音频解码配置 四 献上抓包报文 前言 本篇文章尝试使用提问的方式来分享onvif对讲功能
  • java类型信息与反射

    初步理解 https www cnblogs com xuanlin666 p 10826809 html
  • 使用Electron开发过程中不能使用remote模块解决

    在 electron 渲染进程中引入BrowserWindow报错 const BrowserWindow require electron remote BrowserWindow 报错 Cannot read properties of
  • c++ADO编程-connection对象

    Connection对象的属性有如下几个 1 ConnectionString属性 是连接字符串 通过传递包含一系列由分号分隔的 argument value 语句的详细连接字符串 可指定用于建立连接数据源的信息 连接串格式根据数据源的不同
  • 3.2面向对象

    面向对象与面向过程的区别 面向过程指的是工作过程如何执行 而面向对象指的是工作该让谁来完成 面向对象三大思想 OOA 面向对象分析 Object Oriented Analysis OOD 面向对象设计 Object Oriented De
  • 剑指 Offer 15. 二进制中1的个数(java+python)

    编写一个函数 输入是一个无符号整数 以二进制串的形式 返回其二进制表达式中数字位数为 1 的个数 也被称为 汉明重量 提示 请注意 在某些语言 如 Java 中 没有无符号整数类型 在这种情况下 输入和输出都将被指定为有符号整数类型 并且不