【力扣】191.位 1 的个数

简介: 【力扣】191.位 1 的个数

191.位 1 的个数

题目描述

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

示例 1:

输入:n = 11

输出:3

解释:输入的二进制串 1011 中,共有 3 个设置位。

示例 2:

输入:n = 128

输出:1

解释:输入的二进制串 10000000 中,共有 1 个设置位。

示例 3:

输入:n = 2147483645

输出:30

解释:输入的二进制串 11111111111111111111111111111101 中,共有 30 个设置位。

提示:

  • 1 <= n <= 231 - 1

进阶:

  • 如果多次调用这个函数,你将如何优化你的算法?

解题方法

  • C 循环检查
int hammingWeight(int n) {
    int cnt = 0;
    unsigned int m = 0x1; // 必须定义为“无符号”型
    for (int i = 0; i < 32; i++) {
        if (n & (m << i)) {
            cnt++;
        }
    }
    return cnt;
}

复杂度分析

时间复杂度为 O(k),其中 k 是 int 型的二进制位数,k = 32。

空间复杂度为 O(1)。


相关文章
|
11月前
|
机器学习/深度学习 供应链 搜索推荐
深度学习与日常生活的融合
本文旨在探索深度学习技术在日常生活中的应用,分析其对各行各业的影响以及未来发展趋势。通过具体案例,展示深度学习如何改变我们的生活方式和工作模式,为读者提供全面而深入的理解。
|
数据安全/隐私保护
推荐一款中小企事业单位都能用的免费OA系统
在数字化办公时代,选择合适的免费OA办公系统对于提高工作效率和管理水平至关重要。在众多免费OA办公系统中,点晴免费OA办公系统深受中小企事业单位,其功能全面、易用性好,能够满足企业的日常办公需求。
374 6
|
缓存 边缘计算 负载均衡
如何理解CDN?说说实现原理?
CDN(内容分发网络)是提升网络访问速度的关键技术,通过在全球或全国范围内设立边缘服务器,将内容缓存到靠近用户的地方。当用户访问网站时,DNS返回CNAME,引导用户连接到最近的CDN节点,而非直接到源站。CDN的负载均衡系统依据用户位置、运营商、节点负载等因素选择最佳边缘节点提供服务,而缓存系统则存储常用资源以提高命中率,减少回源请求。高命中率使得CDN能显著提高网站性能,降低网络拥塞。
3344 0
|
存储 监控 安全
波场链(TRON)智能合约dapp开发部署指南
波场链(TRON)智能合约dapp开发部署指南
|
数据可视化 Linux Python
学生主机体验
各种学生机试用对比以及建议。
223 0
|
编解码 图形学 C++
voxel 与 pixel
中文名称:体素,即顾名思义是体积的像素。用来在三维空间中表示一个显示基本点的单位。类似于二维平面下的pixel(像素)。 voxel是三维空间中定义一个点的图象信息的单位。在平面中定义一个点要两个坐标X和Y就够了,而在三维世界中还要有一个坐标。
|
Ubuntu Linux
ubuntu wubi.exe 直接加载下载好的 amd64.tar.xz
玩了这么久的LINUX,一直都是直机装UBUNTU,虚一下XP的,后来不得不直机用WIN7,只能WUBI装一下UBUNTU了。不得不说,在WIN7下虚一个UBUNTU真是相当麻烦。
980 0
|
9天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1197 4
|
8天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1130 87
|
6天前
|
机器学习/深度学习 物联网
Wan2.2再次开源数字人:Animate-14B!一键实现电影角色替换和动作驱动
今天,通义万相的视频生成模型又又又开源了!Wan2.2系列模型家族新增数字人成员Wan2.2-Animate-14B。
578 11

热门文章

最新文章