• 12. Number Complement


    Title:

    Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation.

    Example 1:

    Input: 5
    Output: 2
    Explanation: The binary representation of 5 is 101 (no leading zero bits), and its complement is 010. So you need to output 2.

    Example 2:

    Input: 1
    Output: 0
    Explanation: The binary representation of 1 is 1 (no leading zero bits), and its complement is 0. So you need to output 0.

    Note:

    1. The given integer is guaranteed to fit within the range of a 32-bit signed integer.
    2. You could assume no leading zero bit in the integer’s binary representation.

    Analysis of Title:

    Flip the bits of its binary representation.

    Python:

    return num^(2**(len(bin(num))-2)-1)

    Analysis of Code:

    Let's solve it down to up.

    return b1 ^ b1

    return b10  ^ b11

    return b11 ^ b11

    ...

    So

    ...

    return num ^ 1,3,7....2**len(num)-1

    Notice : When I first to solve it, I want to num ^ 1,11,111,1111....

    But actually num is bin and 1,11,... is dec.

  • 相关阅读:
    NodeJS优缺点及适用场景讨论
    gitHub安装步骤
    ubuntu16.04爬坑
    Dubbo入门
    oracle11g的卸载
    数据库对象的创建和管理
    oracle数据库中的面试题
    dml数据操作和tcl事务管理
    oracle sql单行函数 常用函数实例
    oracle查询语句汇总与分类
  • 原文地址:https://www.cnblogs.com/sxuer/p/10664113.html
Copyright © 2020-2023  润新知