美文网首页
Leetcode476:数字的补数

Leetcode476:数字的补数

作者: Muliang_Duncan | 来源:发表于2021-10-18 10:40 被阅读0次

题目:给你一个 正 整数 num ,输出它的补数。补数是对该数的二进制表示取反。

1.首先讲num循环除以二,求得num的二进制位数

2.取相应位数位全一的数字temp

3.将num与temp进行异或运算,即为补数。

public int findComplement(int num) {

        int count = 0;

        long temp = num;

        while(temp!=0){

            temp = temp / 2;

            count++;

        }

        temp = (long)Math.pow(2,count) - 1;

        return (int)(num^temp);

    }

ps:取temp的时候如果使用短整型,测试用例位数为32位数就会出现越界问题,所以采用长整型

相关文章

  • Leetcode476:数字的补数

    题目:给你一个正整数num,输出它的补数。补数是对该数的二进制表示取反。 1.首先讲num循环除以二,求得num的...

  • 数字的补数

    题目: 给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。 示例: 输入: 5输出: 2解释: 5 的二...

  • 数字的补数

    题目: 题目的理解: 将整数转化为二进制字符串,然后将1和0交换。 python实现 提交 // END 有些时候...

  • 数字的补数

    给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。 注意: 示例 1: 输入: 5输出: 2解释: 5的...

  • 数字的补数

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/number...

  • 476. 数字的补数

    给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。注意:给定的整数保证在32位带符号整数的范围内。你可以...

  • 476. 数字的补数

    内容 给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。 注意: 给定的整数保证在32位带符号整数的范围...

  • 476. 数字的补数

    给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。 注意: 给定的整数保证在32位带符号整数的范围内。你...

  • 476. 数字的补数

    题目 给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。 注意: 给定的整数保证在32位带符号整数的范围...

  • 476-数字的补数

    数字的补数 题目 给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。 注意: 给定的整数保证在32位带符...

网友评论

      本文标题:Leetcode476:数字的补数

      本文链接:https://www.haomeiwen.com/subject/iyagoltx.html