leetcode338
是它的升级版,限定的是非负数。
此题可以为负数。
技术处理:
因为python的int是无线精度的,c++的int是32为的,所以python的负数相当于前面有无限个1,要对python的负数做处理
class Solution:
def NumberOf1(self, n):
# write code here
# 非负整数的题是leetcode的338题
if n < 0:
n = n & 0xffffffff
res = 0
# 每次清掉一个1
while n:
n &= n - 1
res += 1
return res
本文介绍了一个Python技巧,用于处理负数并计数其二进制表示中的1的数量。这是LeetCode 338题目的扩展,讨论了如何在Python中处理无限精度的整数,尤其是负数,并提供了一个具体的实现示例。
1140

被折叠的 条评论
为什么被折叠?



