zoukankan      html  css  js  c++  java
  • 1009. Complement of Base 10 Integer (E)

    Complement of Base 10 Integer (E)

    题目

    Every non-negative integer N has a binary representation. For example, 5 can be represented as "101" in binary, 11 as "1011" in binary, and so on. Note that except for N = 0, there are no leading zeroes in any binary representation.

    The complement of a binary representation is the number in binary you get when changing every 1 to a 0 and 0 to a 1. For example, the complement of "101" in binary is "010" in binary.

    For a given number N in base-10, return the complement of it's binary representation as a base-10 integer.

    Example 1:

    Input: 5
    Output: 2
    Explanation: 5 is "101" in binary, with complement "010" in binary, which is 2 in base-10.
    

    Example 2:

    Input: 7
    Output: 0
    Explanation: 7 is "111" in binary, with complement "000" in binary, which is 0 in base-10.
    

    Example 3:

    Input: 10
    Output: 5
    Explanation: 10 is "1010" in binary, with complement "0101" in binary, which is 5 in base-10.
    

    Note:

    1. 0 <= N < 10^9
    2. This question is the same as 476: https://leetcode.com/problems/number-complement/

    题意

    求一个整数二进制位全部取反后得到的十进制数。

    思路

    直接照做即可。


    代码实现

    Java

    class Solution {
        public int bitwiseComplement(int N) {
            if (N == 0) {
                return 1;
            }
    
            int ans = 0;
            int base = 1;
            while (N != 0) {
                ans += base * ((N % 2 + 1) % 2);
                base *= 2;
                N = N / 2;
            }
            return ans;
        }
    }
    
  • 相关阅读:
    Delphi中的接口和抽象类
    设计模式之六大原则
    C 标准库
    linux 管道和重定向
    linux c创建静态库(.a)
    一个C语言程序
    C#动态创建lambda表达式
    linq中order by 和group by (含lambda表达式实现)以及综合案例
    微信扫码登陆原理
    二维码扫码支付原理
  • 原文地址:https://www.cnblogs.com/mapoos/p/13771371.html
Copyright © 2011-2022 走看看