X

Home Archives
2020-05-24

code4offer-4 二进制中1的个数

二进制中1的个数

问题描述

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

分析

n = n & (n-1) 可以除去n的二进制位中最后一个1

1
2
3
4
5
6
7
8
int  NumberOf1(int n) {
int count = 0;
while (n != 0) {
n = n & (n - 1);
++count;
}
return count;
}
Share
  • 剑指Offer
Newer
binary-encoding
Older
code4offer-3 从尾到头打印链表

Tags

  • Dynamic Programming
  • LeetCode
  • binary-tree
  • bit
  • 剑指Offer
  • 程序员面试金典

Tag Cloud

Dynamic Programming LeetCode binary-tree bit 剑指Offer 程序员面试金典

Archives

  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018

Recent Posts

  • java-hashmap
  • wellknown-ports
  • code4offer-23
  • code4offer-13 机器人的运动范围
  • code4offer-51 数组中的逆序对
© 2020 ARCSINW
Powered by Hexo
Home Archives