476. Number Complement
来源:互联网 发布:重庆外包seo找谁好 编辑:程序博客网 时间:2024/06/06 11:46
求一个数的complement number.
input=5 output=2
input=2 output=1
由于2^2<=5<2^3,二进制表示输出为111-101=2.
由于2^1<=2<2^2,二进制表示输出为11-10=1.
int findComplement(int num) { int i=0; while(pow(2,i)<=num) i++; return pow(2,i)-num-1; }
解法2
int findComplement(int num) { int temp = num, mask = 1; while(temp){ temp >>= 1; mask <<= 1; } return ((mask - 1) ^ num);}
原理类似,左移相当于乘2,右移相当于除2.目的在于找到比num刚好多一位的最小二进制整数。
阅读全文
0 0
- 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
- 476. Number Complement (E)
- VR游戏公司Playsnak融资250万美元,新作即将发布
- 汇编指令与linux系统原理
- java中的异常
- Spring MVC入门
- 关于Date类型的常见问题及处理方法
- 476. Number Complement
- Oracle数据库分区表
- javaIO(4):Reader,InputStreamReader和FileReader源码分析
- 对于Http的编码统一
- python中的dir()和__dict__
- 批量操作之多选
- bootanimation.zip 替换/更换 黑屏
- 策略模式Strategy(对象行为型)
- 广播的类型————拦截有序广播