476. Number Complement
来源:互联网 发布:淘宝购物车logo 编辑:程序博客网 时间:2024/05/22 14:18
Number Complement
Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation.
Note:
The given integer is guaranteed to fit within the range of a 32-bit signed integer.
You could assume no leading zero bit in the integer’s binary representation.
Example 1:
Input: 5Output: 2Explanation: The binary representation of 5 is 101 (no leading zero bits), and its complement is 010. So you need to output 2.
Example 2:
Input: 1Output: 0Explanation: The binary representation of 1 is 1 (no leading zero bits), and its complement is 0. So you need to output 0.
总体思路:对输入数字取反,但是数字前面的0不取反,故要知道数字最高位,并用与1亦或取反的技巧。代码如下:
#include<iostream>#include<vector>using namespace std;class Solution {public: int findComplement(int num) { int mask = 1, temp = num; while (temp>0) { mask = mask << 1; temp = temp >> 1; } int a=num^(mask - 1); cout << a; return num^(mask - 1); }};int main(){ Solution n; int i; cin>>i; n.findComplement(i);}
阅读全文
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)
- [LeetCode]632. Smallest Range 深入浅出讲解和代码示例
- Java类型转换
- linux基础命令大全
- 7.12图论练习赛 T2 幻想乡的符卡 (网络流最小割)
- wwdx
- 476. Number Complement
- Linux公钥实现主机间免密登录及文件互传
- 【Impala问题手记】--1--连接池与内存分配
- stressapptest
- dataTable 改变搜索框位置
- python网络爬虫实战--重点整理
- Oracle索引总结
- tomcat如何配置环境变量
- MVP模式+dagger2+ Glide + Retrofit+OkHttp+GreenDao + RxJava + butterknife(新人练手项目)