LeetCode 476. 数字的补数(移位 异或^)
2024-06-05 06:13:44
1. 题目
给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。
2. 解题
- 先求出该数的2进制有多少位
- 然后分别每位与1进行异或操作
class Solution {public:int findComplement(int num) {int n = 1, num_copy = num;while(num_copy/2){++n;num_copy /= 2;}while(n){num ^= (1<<n-1);n--;}return num;}
};
最新文章
- 放大招,推荐10个神级办公软件和网站,让人大开眼界!
- 进程隐藏与进程保护(SSDT Hook 实现)(一)
- flex 正则表达式匹配规则
- java8 Map新增方法的使用
- winform textbox提示历史记录
- 虚拟仪器是在计算机基础上通过增加相关硬件和软件构建而成的仪器,无损检测考试...
- Mac电脑动态壁纸怎么设置
- 解决阿里云图片超过20M无法缩放的问题
- EDA技术(VHDL)——0~9999的计数器电路的设计
- mysql sql 除法运算_SQL语句怎么表示除法运算?
- 为你的博客引入——今日诗词、每日一言(js插件分享)
- 实验1 蓝桥ROS1机器人入门 适用kinetic/melodic/noetic
- 短视频媒体怎么用手机去水印
- 读文可以学计算机吗,学计算机的必须读的文章(范文).doc
- R语言多层桑基图_流量结构分布图——桑基图(Sankey)
- 一只蝴蝶引发的海啸:垂死的CDN行业风云再起
- 再论”核高基“培育”外国种“,歪名传四方
- Current Mirror
- 【领域驱动设计】三分钟搞懂领域驱动设计
- 【NA】基于QR分解的特征值迭代法