题解 | #二进制中1的个数#

二进制中1的个数

http://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8

思路:分大于0小于0两种情况判断

1、> 0, 统计1的个数 2、< 0, 转成正数,统计0的个数,32-0的个数

class Solution:
    def NumberOf1(self , n: int) -> int:
        # write code here
        
        if n == 0:
            return 0
        
        result = 0
        
        if n > 0:
            while n:
                if n % 2 == 1:
                    result += 1
                    
                n = n // 2
                
            return result
        else:
            n = -n
            while n:
                if n % 2 == 0:
                    result += 1
                    
                n = n // 2
                
            return 32 - result
全部评论
这样不对 -15的话为你求出来还是32个1
点赞 回复 分享
发布于 2022-12-22 16:48 浙江

相关推荐

不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
拒绝无效加班的小师弟很中意你:求职意向没有,年龄、课程冗余信息可以删掉,需要提升项目经历。排版需要修改。
点赞 评论 收藏
分享
霁华Tel:秋招结束了,好累。我自编了一篇对话,语言别人看不懂,我觉得有某种力量在控制我的身体,我明明觉得有些东西就在眼前,但身边的人却说啥也没有,有神秘人通过电视,手机等在暗暗的给我发信号,我有时候会突然觉得身体的某一部分不属于我了。面对不同的人或场合,我表现出不一样的自己,以至于都不知道自己到底是什么样子的人。我觉得我已经做的很好,不需要其他人的建议和批评,我有些时候难以控制的兴奋,但是呼吸都让人开心。
点赞 评论 收藏
分享
评论
6
收藏
分享
牛客网
牛客企业服务