leetcode-191:位1的个数

简介: leetcode-191:位1的个数

题目

题目链接

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

示例 1:

输入:00000000000000000000000000001011
输出:3
解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。

示例 2:

输入:00000000000000000000000010000000
输出:1
解释:输入的二进制串 00000000000000000000000010000000 中,共有一位为 '1'。

示例 3:

输入:11111111111111111111111111111101
输出:31
解释:输入的二进制串 11111111111111111111111111111101 中,共有 31 位为 '1'。

解题

方法一:常规解法

class Solution {
public:
    int hammingWeight(uint32_t n) {
        int res=0;
        for(int i=0;i<32;i++){
            res+=((n>>i)&1);
        }
        return res;
    }
};

方法二:lowbit解法

i&-i返回的就是最低位的值,比如(14)的二进制1110,那么它的lowbit为2 ,因为二进制10对应的值为2

这样,对于1110,仅需要3次遍历即可,而如果采用常规做法,要32次。

class Solution {
public:
    int hammingWeight(uint32_t n) {
        int res=0;
        for(uint32_t i=n;i!=0;i-=(i&-i)) res++;
        return res;
    }
};


相关文章
|
数据采集 前端开发 测试技术
如何爬取瀑布流网页加载的内容
本文探讨了爬取瀑布流网页内容的策略。首先解析了其工作原理——通过Ajax请求动态加载数据,并介绍了利用浏览器开发者工具分析这些请求的方法。随后,文章讲解了如何使用Python模拟这些请求,处理动态加载的内容,并推荐了Selenium等自动化工具以简化流程。最后强调了在爬虫开发过程中需遵守网站规定及道德准则的重要性。
|
人工智能 测试技术 持续交付
就AI 基础设施的演进与挑战问题之定义应用的交付模式的问题如何解决
就AI 基础设施的演进与挑战问题之定义应用的交付模式的问题如何解决
113 1
|
存储 数据采集 弹性计算
日志服务SLS入门指南
简述日志服务SLS及日志采集、信息脱敏和告警接入相关操作
|
Java 中间件 数据安全/隐私保护
本地使用sentinel 到界面;Object类与Objects类
本地使用sentinel 到界面 Sentinel 是阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的稳定性。 1/https://github.com/alibaba/Sentinel/releases 下载jar
192 1
本地使用sentinel 到界面;Object类与Objects类
热饭面试复习【python 基础 】2/4
热饭面试复习【python 基础 】2/4
|
Web App开发 Linux
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
内存是影响Linux性能的主要因素之一,内存资源的充足与否直接影响应用系统的使用性能。 free命令:监控Linux内存使用状况。
1251 0
|
1天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1071 0
|
10天前
|
人工智能 运维 安全
|
9天前
|
人工智能 测试技术 API
智能体(AI Agent)搭建全攻略:从概念到实践的终极指南
在人工智能浪潮中,智能体(AI Agent)正成为变革性技术。它们具备自主决策、环境感知、任务执行等能力,广泛应用于日常任务与商业流程。本文详解智能体概念、架构及七步搭建指南,助你打造专属智能体,迎接智能自动化新时代。