No.476 数字的补数
No.476 数字的补数
对整数的二进制表示取反(0
变 1
,1
变 0
)后,再转换为十进制表示,可以得到这个整数的补数。
- 例如,整数
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 数字的补数相关推荐
- 476. 数字的补数
476. 数字的补数 给你一个 正 整数 num ,输出它的补数.补数是对该数的二进制表示取反. 例 1:输入:num = 5 输出:2 解释:5 的二进制表示为 101(没有前导零位),其补数为 0 ...
- Java实现 LeetCode 476 数字的补数
476. 数字的补数 给定一个正整数,输出它的补数.补数是对该数的二进制表示取反. 示例 1: 输入: 5 输出: 2 解释: 5 的二进制表示为 101(没有前导零位),其补数为 010.所以你需要 ...
- 【LeetCode】476. 数字的补数 Number Complement
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 公众号:负雪明烛 本文关键词:Leetcode, 力扣,476, 补数,二进制,Pyth ...
- LeetCode刷题(python)——476. 数字的补数
题目描述: 给定一个正整数,输出它的补数.补数是对该数的二进制表示取反. 注意: 给定的整数保证在32位带符号整数的范围内. 你可以假定二进制数不包含前导零位. 示例 1: 输入: 5 输出: 2 解 ...
- 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 的二进制数 ...
- LeetCode 476. 数字的补数(移位 异或^)
1. 题目 给定一个正整数,输出它的补数.补数是对该数的二进制表示取反. 2. 解题 先求出该数的2进制有多少位 然后分别每位与1进行异或操作 class Solution {public:int f ...
- leetcode 476. 数字的补数(Number Complement)
目录 题目描述: 示例 1: 示例 2: 解法: 题目描述: 给定一个正整数,输出它的补数.补数是对该数的二进制表示取反. 注意: 给定的整数保证在32位带符号整数的范围内. 你可以假定二进制数不包含 ...
- 476. 数字的补数 【位运算】
https://leetcode-cn.com/problems/number-complement/ class Solution {public:int findComplement(int nu ...
- leetcode 476. Number Complement | 476. 数字的补数(位运算)
题目 https://leetcode.com/problems/number-complement/ 题解 class Solution {public int findComplement(int ...
- [leetcode]476. 数字的补数
1. class Solution {public:int findComplement(int num) {int res = 0;int t = 0;string s = "" ...
最新文章
- 技术图文:如何进行代码的重构?以封装 BigOne API 为例
- Redis 那些故障转移、高可用方案
- 区块链基础知识系列 第四课Hyperledger fabric 1.0网络组成及构建流程
- failed to find romfile vgabios-stdvga.bin
- 下一个排列—leetcode31
- skype for business 无法共享桌面、无法传输图片
- Python画各种 3D 图形Matplotlib库
- java编译生成哪些文件_java编译后生成什么文件?生成的文件包括什么?
- 同花顺崩了上热一!网友:早盘血亏,你还不让我跑 官方回应...
- Linux基金会要“下田”了!开源技术在农业领域能做什么?
- 在opencv3中的机器学习算法
- 6*6数独,要求输出结果
- 深入理解JVM - 系统性能优化
- java 一年 周数_java获取一年共有多少周
- 自己动手制造超强硬件防火墙
- matlab生成轨道不平顺谱程序,用于轨道不平顺复现试验的驱动试验谱生成方法
- 客户端SDK测试是什么?如何测?
- 在计算机内 信息的表现形式是什么,信息的表现形式_现代信息的形式表现为哪四种形态...
- 图片转PDF有哪些软件?这几款软件建议收藏
- SpringSecurity安全框架简介
热门文章
- 使用matplotlib绘制正弦曲线图
- ARM9开发板初体验----使用Uboot通过USB下载线烧写bin文件
- 陈桥五笔,我再也不会下载了
- asio Tcp服务退出时崩溃bug
- 西安计算机专业大专排名及分数线,西安所有的大学名单及排名分数线(本科 专科)...
- SpringBoot专栏:集成定时ScheduledTasks任务,刷新概念了_14讲
- 【ORACLE】关于多态表函数PTF(Polymorphic Table Functions)的使用
- itext生成pdf间距_[itext]Java生成PDF文件
- 品牌如何正确联动B站UP主“恰饭视频”,最近一支不像恰饭视频的作品在B站火了
- input 数字类型