「ソードフィンガーオファー」のバイナリシステムの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'
、の文字数を計算します。それ。