美文网首页
LeetCode-191-位1的个数

LeetCode-191-位1的个数

作者: 阿凯被注册了 | 来源:发表于2020-10-11 00:07 被阅读0次
image.png
解题思路0
  1. 输入n为32位的无符号整数,那么i遍历0~31
  2. 要算出多少位是1,按位与操作;
  3. mask初始值为1,每次向左移一位:mask<<=1

Python3代码

class Solution:
    def hammingWeight(self, n: int) -> int:
        mask = 1
        bit = 0 
        for i in range(0, 32):
            if n & mask:
                bit+=1
            mask<<=1
        return bit

解题思路1:

  1. n&(n-1)即可以消除n最末位的1;
  2. 例如:7(0111)&6(0110)=6(0110)
  3. 6(0110)&5(0101)=4(0100)6的末位1消除后变成4。
class Solution:
    def hammingWeight(self, n: int) -> int:
        bit=0
        while n != 0:
            bit +=1
            n &= (n-1)
        return bit

相关文章

  • LeetCode-191-位1的个数

    输入n为32位的无符号整数,那么i遍历0~31 要算出多少位是1,按位与操作; mask初始值为1,每次向左移一位...

  • 位1的个数

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

  • 【1】位1的个数

    题目 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被...

  • 1 - Easy - 位1的个数

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

  • 44位1的个数

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

  • 【LeetCode】位1的个数

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

  • Leetcode 位1的个数

    题目描述 leecode第191题:编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数...

  • 191.位1的个数

    题目 编写一个函数,输入是一个无符号整数,返回的是它所有 位1 的个数(也被称为汉明重量)。 例如,32位整数 '...

  • 191. 位1的个数

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

  • 01_位1的个数

网友评论

      本文标题:LeetCode-191-位1的个数

      本文链接:https://www.haomeiwen.com/subject/tladpktx.html