• 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;
        }
    }
    
  • 相关阅读:
    mongoDB
    邮箱认证
    Django中开启事务的两种方式
    总结
    __new__和__init__和__call__方法理解
    jupyter
    text()和html()区别
    django模型中auto_now和auto_now_add的区别
    ajax嵌套陷阱
    模板内置函数(HTML)
  • 原文地址:https://www.cnblogs.com/mapoos/p/13771371.html
Copyright © 2020-2023  润新知