美文网首页
LeetCodeDay29 —— 位1的个数☆

LeetCodeDay29 —— 位1的个数☆

作者: GoMomi | 来源:发表于2018-05-07 13:07 被阅读0次

191. 位1的个数

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

示例 2:
  输入: 128
  输出: 1
  解释: 整数 128 的二进制表示为 00000000000000000000000010000000
思路
  1. 与0x01作'&'操作得到末尾的1,循环右移得到每一位的1。
  2. 由于是1的个数,所以'&'操作可以改为对2求余‘%’,右移可改为除2。
class Solution_191_01 {
 public:
  int hammingWeight(uint32_t n) {
    int cnt = 0;
    while (n) {
      int tmp = n & 0x01;
      if (tmp == 1) ++cnt;
      n = n >> 1;
    }
    return cnt;
  }
};

class Solution_191_02 {
 public:
  int hammingWeight(uint32_t n) {
    int cnt = 0;
    while(n) {
      cnt += n % 2;
      n /= 2;
    }
    return cnt;
  }
};

相关文章

  • LeetCodeDay29 —— 位1的个数☆

    191. 位1的个数 描述 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘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的个数

网友评论

      本文标题:LeetCodeDay29 —— 位1的个数☆

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