476. Number Complement (E)
来源:互联网 发布:android蓝牙串口源码 编辑:程序博客网 时间:2024/06/05 05:51
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.
Subscribe to see which companies asked this question.
Solution 1:
public class Solution { public int findComplement(int num) { String data=Integer.toBinaryString(num); int re=0; int count=1; for(int i=data.length()-1;i>=0;--i){ if(data.charAt(i)=='0') re+=count; count*=2; } return re; }}
Solution 2:
public class Solution { public int findComplement(int num) { int re=0; int count=1; while(num!=0){ int n=num%2; num/=2; if(n==0) re+=count; count*=2; } return re; }}
Disscuss Solution:
public class Solution { public int findComplement(int num) { int mask=(Integer.highestOneBit(num)<<1)-1; num=~num; return num&mask; }}
0 0
- 476. Number Complement (E)
- 【LeetCode】476. Number Complement【E】【59】
- 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
- 颜色渐变工具类
- ACM 算法分类 与 具体题型
- Android客户端性能优化(魅族资深工程师毫无保留奉献)
- 环信集成导入详细介绍与填坑(一)
- EventBus初略介绍
- 476. Number Complement (E)
- Spark RPC概述
- java回调机制
- KMP入门必做-匹配
- POJ 3407 Brookebond s'en va en guerre... 再想想
- 1192
- 华为OJ:ip地址与整数之间的转换
- python模块RE模块正则表达式
- Android开发去除标题栏title