题解 | #懂二进制#

懂二进制

https://www.nowcoder.com/practice/120e406db3fd46f09d55d59093f13dd8

from sre_compile import CATEGORY_UNI_NOT_LINEBREAK
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param m int整型 
# @param n int整型 
# @return int整型
#
class Solution:
    def countBitDiff(self , m: int, n: int) -> int:
        # write code here
        m2 = bin(m).replace("0b","")
        n2 = bin(n).replace("0b","")
        lm=len(m2)
        ln=len(n2)
        gap=abs(lm-ln)
        if len(m2)>len(n2):
            n2=gap*"0"+n2
        else:
            m2=gap*"0"+m2

        

        count=0
        for i in range(max(lm,ln)):
            if m2[i]!=n2[i]:
                count=count+1

        return count
		
		#记住需要在位数少的那个数字前面补0 让2个数的长度一样才能进行比较
		#尽量用replace函数而不是strip函数

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-04 14:23
steelhead:你回的有问题,让人感觉你就是来学习的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 13:47
点赞 评论 收藏
分享
不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务