力扣191. 位1的个数(位运算)

Problem: 191. 位1的个数

题目描述

在这里插入图片描述在这里插入图片描述

思路

题目规定数值的范围不会超过32位整形数

1.定义统计个数的变量oneCount;由于每次与给定数字求与的变量mask初始化为1
2.for循环从0~32,每一次拿mask与给定数字求与运算,若不为0则表示当前二进制位为1,oneCount++;
3.给定数字右移一位

复杂度

时间复杂度:

O ( 1 ) O(1) O(1)

空间复杂度:

O ( 1 ) O(1) O(1)

Code

class Solution {
   
public:
    /**
     * Bit operation
     * @param n Unsigned integer to be operated
     * @return int
     */
    int hammingWeight(uint32_t n) {
   
        int oneCount = 0;
        int mask = 1;
        for (int i = 0; i < 32; ++i) {
   
            if ((n & mask) != 0) {
   
                oneCount++;
            }
            mask <<= 1;
        }
        return oneCount;
    }
};

相关推荐

  1. 191. 1个数(Python3)

    2024-02-01 13:14:01       42 阅读
  2. 191. 1 个数、485.最大连续 1 个数

    2024-02-01 13:14:01       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-01 13:14:01       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-01 13:14:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-01 13:14:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-01 13:14:01       18 阅读

热门阅读

  1. 植保无人机如何提高作业效率?

    2024-02-01 13:14:01       30 阅读
  2. openssl3.2 - 帮助文档的整理

    2024-02-01 13:14:01       39 阅读
  3. 影响PCBA制造成本的因素有哪些?

    2024-02-01 13:14:01       35 阅读
  4. 【Spring框架】@Cacheable注解:缓存最佳实践

    2024-02-01 13:14:01       34 阅读
  5. ffmpeg 从视频文件抓取图片 (帧)的用法

    2024-02-01 13:14:01       27 阅读
  6. docker概念和常见命令

    2024-02-01 13:14:01       34 阅读
  7. Fiddler-03总结

    2024-02-01 13:14:01       27 阅读
  8. Kerberos安装

    2024-02-01 13:14:01       28 阅读
  9. [python] 使用sqlparse 解析和美化SQL

    2024-02-01 13:14:01       22 阅读
  10. Linux 分卷压缩命令

    2024-02-01 13:14:01       36 阅读