「ソードフィンガーオファー」のバイナリシステムの1の数

「ソードフィンガーオファー」のバイナリシステムの1の数

どこに行くのかわかりませんが、もう途中です!
会ったことはありませんが、時間は急いでいますが、ユシに会いました。本当に素晴らしい運命です。ご来店ありがとうございました!
  • トピック
    整数を入力し、数値の32ビット2進表現で1の数値を出力します。負の数は1の補数で表されます。
示例 1 :
输入:10
返回值:2
  • コード1:
# -*- coding:utf-8 -*-
class Solution:
    def NumberOf1(self, n):
        if n >= 0:
            temp = bin(n)
            return temp.count('1')
        if n < 0:
            return(bin(2**32 + n).count("1"))
  • アルゴリズムの説明:
    正の数の場合は2進数に変換し'1'、その中の文字数を計算します。
    負の数の場合は、nを2の32乗に加算して2進数に変換し'1'、の文字数を計算します。それ。

おすすめ

転載: blog.csdn.net/qq_34331113/article/details/115055100