476. Number Complement - 最高比特位后取反
来源:互联网 发布:入门单板吉他推荐 知乎 编辑:程序博客网 时间:2024/06/07 01:51
https://leetcode.com/problems/number-complement/
分析
也即把一个数最高比特位后的比特位取反即可,关键要找出最高比特位,简单的位操作,十几分钟搞定,位操作使用还要加强,神技能啊。
实现一
int findComplement(int num) { int i = 0; int tmp=0; int max=0; for(i=0;i<32;i++) { tmp=0x80000000>>i; if((num &tmp) == tmp) { max=i; break; } } num = ~num; num &= 0xFFFFFFFF>>max; return num; }
实现二
int findComplement(int num) { int tmp = num; /* 将最高位后面的位都置为1 */ tmp |= (tmp>>1); tmp |= (tmp>>2); tmp |= (tmp>>4); tmp |= (tmp>>8); tmp |= (tmp>>16); num = ~num; num &= tmp; return num; }
0 0
- 476. Number Complement - 最高比特位后取反
- LeetCode 476. Number Complement
- leetcode 476. Number Complement
- 【Leetcode】476. Number Complement
- 【Leetcode】476. Number Complement
- 476. Number Complement*
- LeetCode 476. Number Complement
- LeetCode 476. Number Complement
- LeetCode--476. Number Complement
- LeetCode 476. Number Complement
- 476. Number Complement
- 476. Number Complement [LeetCode]
- 476. Number Complement
- [LeetCode]476.Number Complement
- 476. Number Complement
- 【LeetCode】 476. Number Complement
- LeetCode 476. Number Complement
- 476. Number Complement
- C++基础之返回数组
- 电话拦截
- 编程规范1 命名规则---做一名优秀的程序员必备
- 重新发现矩阵
- Lecture 3
- 476. Number Complement - 最高比特位后取反
- 简单的汇编模拟器教程(JavaScript)部分1[译]
- 确认当前系统的存储模式(大端模式,小端模式)
- 1047. Student List for Course (25)
- centos配置jdk
- STM32单片机常用库函数
- 【Visual Studio】控制台程序运行时一闪而过
- 简述serializable和transient关键字作用
- AFNetWorking3.x完全解读