No.476 数字的补数

对整数的二进制表示取反(0110)后,再转换为十进制表示,可以得到这个整数的补数。

  • 例如,整数 5 的二进制表示是 "101" ,取反后得到 "010" ,再转回十进制表示得到补数 2

给你一个整数 num ,输出它的补数。

示例 1:

输入:num = 5
输出:2
解释:5 的二进制表示为 101(没有前导零位),其补数为 010。所以你需要输出 2 。

示例 2:

输入:num = 1
输出:0
解释:1 的二进制表示为 1(没有前导零位),其补数为 0。所以你需要输出 0 。

提示:

  • 1 <= num < 231

注意:本题与 1009 https://leetcode-cn.com/problems/complement-of-base-10-integer/ 相同

思路分析

本题是一道位运算的题,将二进制上的0变为1,1变为0,因此我们只需要遍历一遍该数字的每一位二进制(范围上限为最高位1)将其反转即可,因此可以写出如下代码

java代码

class Solution {public int findComplement(int num) {int k = 0, result = 0;while ((num >> k) != 0) {result += ((((num >> k) & 1) == 0 ? 1 : 0) << k);k++;}return result;}
}

No.476 数字的补数相关推荐

  1. 476. 数字的补数

    476. 数字的补数 给你一个 正 整数 num ,输出它的补数.补数是对该数的二进制表示取反. 例 1:输入:num = 5 输出:2 解释:5 的二进制表示为 101(没有前导零位),其补数为 0 ...

  2. Java实现 LeetCode 476 数字的补数

    476. 数字的补数 给定一个正整数,输出它的补数.补数是对该数的二进制表示取反. 示例 1: 输入: 5 输出: 2 解释: 5 的二进制表示为 101(没有前导零位),其补数为 010.所以你需要 ...

  3. 【LeetCode】476. 数字的补数 Number Complement

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 公众号:负雪明烛 本文关键词:Leetcode, 力扣,476, 补数,二进制,Pyth ...

  4. LeetCode刷题(python)——476. 数字的补数

    题目描述: 给定一个正整数,输出它的补数.补数是对该数的二进制表示取反. 注意: 给定的整数保证在32位带符号整数的范围内. 你可以假定二进制数不包含前导零位. 示例 1: 输入: 5 输出: 2 解 ...

  5. leetcode 476. 数字的补数(Java版)| How to extract ‘k’ bits from a given position in a number

    题目 https://leetcode-cn.com/problems/number-complement/ 思路 我们想要返回已知数字的补数(num>=1). 思路: 获取 num 的二进制数 ...

  6. LeetCode 476. 数字的补数(移位 异或^)

    1. 题目 给定一个正整数,输出它的补数.补数是对该数的二进制表示取反. 2. 解题 先求出该数的2进制有多少位 然后分别每位与1进行异或操作 class Solution {public:int f ...

  7. leetcode 476. 数字的补数(Number Complement)

    目录 题目描述: 示例 1: 示例 2: 解法: 题目描述: 给定一个正整数,输出它的补数.补数是对该数的二进制表示取反. 注意: 给定的整数保证在32位带符号整数的范围内. 你可以假定二进制数不包含 ...

  8. 476. 数字的补数 【位运算】

    https://leetcode-cn.com/problems/number-complement/ class Solution {public:int findComplement(int nu ...

  9. leetcode 476. Number Complement | 476. 数字的补数(位运算)

    题目 https://leetcode.com/problems/number-complement/ 题解 class Solution {public int findComplement(int ...

  10. [leetcode]476. 数字的补数

    1. class Solution {public:int findComplement(int num) {int res = 0;int t = 0;string s = "" ...

最新文章

  1. 技术图文:如何进行代码的重构?以封装 BigOne API 为例
  2. Redis 那些故障转移、高可用方案
  3. 区块链基础知识系列 第四课Hyperledger fabric 1.0网络组成及构建流程
  4. failed to find romfile vgabios-stdvga.bin
  5. 下一个排列—leetcode31
  6. skype for business 无法共享桌面、无法传输图片
  7. Python画各种 3D 图形Matplotlib库
  8. java编译生成哪些文件_java编译后生成什么文件?生成的文件包括什么?
  9. 同花顺崩了上热一!网友:早盘血亏,你还不让我跑 官方回应...
  10. Linux基金会要“下田”了!开源技术在农业领域能做什么?
  11. 在opencv3中的机器学习算法
  12. 6*6数独,要求输出结果
  13. 深入理解JVM - 系统性能优化
  14. java 一年 周数_java获取一年共有多少周
  15. 自己动手制造超强硬件防火墙
  16. matlab生成轨道不平顺谱程序,用于轨道不平顺复现试验的驱动试验谱生成方法
  17. 客户端SDK测试是什么?如何测?
  18. 在计算机内 信息的表现形式是什么,信息的表现形式_现代信息的形式表现为哪四种形态...
  19. 图片转PDF有哪些软件?这几款软件建议收藏
  20. SpringSecurity安全框架简介

热门文章

  1. 使用matplotlib绘制正弦曲线图
  2. ARM9开发板初体验----使用Uboot通过USB下载线烧写bin文件
  3. 陈桥五笔,我再也不会下载了
  4. asio Tcp服务退出时崩溃bug
  5. 西安计算机专业大专排名及分数线,西安所有的大学名单及排名分数线(本科 专科)...
  6. SpringBoot专栏:集成定时ScheduledTasks任务,刷新概念了_14讲
  7. 【ORACLE】关于多态表函数PTF(Polymorphic Table Functions)的使用
  8. itext生成pdf间距_[itext]Java生成PDF文件
  9. 品牌如何正确联动B站UP主“恰饭视频”,最近一支不像恰饭视频的作品在B站火了
  10. input 数字类型