剑指offer:11 二进制中1的个数

2019-08-08  本文已影响0人  毛毛毛毛毛豆

题目描述

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

Python

class Solution:

    def NumberOf1(self, n):

        # write code here

        return bin(n).count('1') if n >= 0 else bin(2 **32 + n).count('1')

Python - 仅考虑正数

class Solution:

        cnt = 0

        while n > 0:

            if n % 2 != 0:

                cnt += 1

            n = n // 2

        return cnt

上一篇下一篇

猜你喜欢

热点阅读