码迷,mamicode.com
首页 > 其他好文 > 详细

[Lintcode]181. Flip Bits

时间:2019-02-10 09:33:33      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:www.   bit   code   problem   while   ati   注意   int   rip   

181. Flip Bits

  • 本题难度: Easy
  • Topic: Math&Bit Manipulation

    Description

    Determine the number of bits required to flip if you want to convert integer n to integer m.

Example
Given n = 31 (11111), m = 14 (01110), return 2.

Notice
Both n and m are 32-bit integers.

我的代码

class Solution:
    """
    @param a: An integer
    @param b: An integer
    @return: An integer
    """
    def bitSwapRequired(self, a, b):
        # write your code here
        ff=pow(2,32)#注意负数
        a_r = (a + ff)%ff
        b_r = (b + ff)%ff
        count = 0
        while ((a_r or b_r) != 0):
            a_b = a_r % 2
            b_b = b_r % 2
            count += (a_b != b_b)
            a_r = a_r // 2
            b_r = b_r // 2
        return count

思路

  • 出错 没有考虑负数的情况

[Lintcode]181. Flip Bits

标签:www.   bit   code   problem   while   ati   注意   int   rip   

原文地址:https://www.cnblogs.com/siriusli/p/10358604.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!