文档章节

476. Number Complement

初雪之音
 初雪之音
发布于 2017/02/28 20:57
字数 140
阅读 111
收藏 0
点赞 0
评论 0

Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation.

Note:

  1. The given integer is guaranteed to fit within the range of a 32-bit signed integer.
  2. You could assume no leading zero bit in the integer’s binary representation.

Example 1:

Input: 5
Output: 2
Explanation: 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: 1
Output: 0
Explanation: The binary representation of 1 is 1 (no leading zero bits), and its complement is 0. So you need to output 0.

 

Code:

public class Solution {
    public int findComplement(int num) {
		int result = 0;

		if (num > 0) {
			int temp = ~0;
			while ((temp & num) != 0) {
				temp <<= 1;
			}
			result = ~temp & ~num;
		}

		return result;
	}
}

 

© 著作权归作者所有

共有 人打赏支持
初雪之音
粉丝 41
博文 245
码字总数 138648
作品 0
广州
程序员
Calcc

Calcc 是一个基于命令行的32/64位数值计算工具。支持十六进制、十进制、八进制、二进制、BASE4、字符串、IPv4/6等输入输出格式。能进行的操作包括:complement, not, shift, rotate, xor, an...

匿名 ⋅ 2008/10/30 ⋅ 1

MIT Data Science Machine Becomes As Intuitive As Humans: Rise Of The Machines?

Researchers at MIT have developed a new artificial intelligence system that is able to outperform even the smartest human intuition in a number of different areas. The new big d......

Betty__ ⋅ 2016/10/12 ⋅ 0

ProgressDialog.setCanceledOnTouchOutside(false);

用ProgressDialog的地方,最好加下这个属性,防止4.0系统出问题。mProgressDialog.setCanceledOnTouchOutside(false); 就是在loading的时候,如果你触摸屏幕其它区域,就会让这个progressDia...

程序袁_绪龙 ⋅ 2015/07/29 ⋅ 0

Ceylon 1.0.0 发布,JVM 上的新语言

Ceylon 1.0.0 发布了,Ceylon面向企业级应用开发设计,在JVM运行时基础上执行,支持与Java的交互操作。Ceylon语言充分借鉴了Java语言的优势并屏蔽其在设计上的不足,使用静态类型并提供高阶函...

红薯 ⋅ 2013/11/14 ⋅ 4

Linux下用命令行查询memcache的所有keys

1.telnet 10.10.24.106 112112.stats itemsSTAT items:23:number 2STAT items:23:age 934861STAT items:23:evicted 0STAT items:23:evicted_nonzero 0STAT items:23:evicted_time 0STAT item......

macker ⋅ 2014/10/10 ⋅ 0

armv7 mac 下 使用ldid签名&再签名

iPhone 首次签名方法ldid -S helloiPhone 再签名方法ldid -s helloMac OS X 首次签名方法 export CODESIGNALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesignall......

iceteea ⋅ 2013/08/15 ⋅ 0

oracle参数解释

参数:optimizerindexcost_adj 1、optimizerindexcostadj 这个参数与dbfilemultiblockread_count有很大的关系,建议搜索以前的帖子。 我这边生产系统dbfilemultiblockreadcount改后,才会去改...

ianLi ⋅ 2013/03/14 ⋅ 0

原码,反码和补码

原码 true code 原码很简单,一个10进制正数通过除2法转换成的2进制数就是原码。 比如8的原码是:1000 反码 complement,bitwise NOT 也很简单,就是翻转每个bit。比如: NOT 0111 (decimal ...

长平狐 ⋅ 2012/08/28 ⋅ 0

JavaScript 实用工具库--lodash

lodash 是一个 JavaScript 实用工具库,提供一致性,模块化,性能和配件等功能。 当前支持 Chrome 39-40, Firefox 34-35, IE 6-11, Opera 25-26, Safari 5-8,io.js 1.0.4, Node.js 0.8.28 & ...

叶秀兰 ⋅ 2015/01/28 ⋅ 0

【LeetCode】405 Convert a Number to Hexadecimal (java实现)

原题链接 https://leetcode.com/problems/convert-a-number-to-hexadecimal/ 原题 Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two’s com......

BookShu ⋅ 2016/11/03 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 从其他备份中恢复数据

一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复。 如果你在恢复压缩的 XML 备份的时候遇到了问题,你还是可以对整个站点进行恢复的,如...

honeymose ⋅ 11分钟前 ⋅ 0

myeclipse10 快速搭建spring boot开发环境(入门)

1.创建一个maven的web项目 注意上面标红的部分记得选上 2.创建的maven目录结构,有缺失的目录可以自己建立目录补充 补充后 这时候一个maven的web项目创建完成 3.配置pom.xml配置文件 <proje...

小海bug ⋅ 23分钟前 ⋅ 0

nginx.conf

=========================================================================== nginx.conf =========================================================================== user nobody; #......

A__17 ⋅ 26分钟前 ⋅ 0

645. Set Mismatch - LeetCode

Question 645. Set Mismatch Solution 思路: 遍历每个数字,然后将其应该出现的位置上的数字变为其相反数,这样如果我们再变为其相反数之前已经成负数了,说明该数字是重复数,将其将入结果r...

yysue ⋅ 40分钟前 ⋅ 0

Python这么强?红包杀手、消息撤回也可以无视,手机App辅助!

论述 标题也许有点不好理解,其实就是一款利用Python实现的可以监控微信APP内的红包与消息撤回的助手。不得不说,这确实是一款大家钟意的神器。 消息撤回是一件很让人恶心的事,毕竟人都是有...

Python燕大侠 ⋅ 56分钟前 ⋅ 0

压缩打包介绍、gzip压缩工具、bzip2压缩工具、xz压缩工具

压缩打包介绍 压缩的好处不仅能节省磁盘空间而且在传输的时候节省传输时间和网络带宽 windows系统下文件带有 .rar .zip .7z 后缀的就是压缩文件 linux系统下则是 .zip, .gz, .bz2, .xz, ...

黄昏残影 ⋅ 今天 ⋅ 0

观察者模式

1.利用java原生类进行操作 package observer;import java.util.Observable;import java.util.Observer;/** * @author shadow * @Date 2016年8月12日下午7:29:31 * @Fun 观察目标 **/......

Cobbage ⋅ 今天 ⋅ 0

Ubuntu打印服务器配置

参考:https://blog.csdn.net/gsls200808/article/details/50950586 https://blog.csdn.net/jiay2/article/details/80252369 https://wiki.gentoo.org/wiki/HPLIP 由于媳妇儿要大量打印资料,......

大熊猫 ⋅ 今天 ⋅ 0

面试的角度诠释Java工程师(二)

原文出处: locality 续言: 相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的。为什么我会...

颖伙虫 ⋅ 今天 ⋅ 0

github中SSH的Key

https://help.github.com/articles/connecting-to-github-with-ssh/ https://help.github.com/articles/testing-your-ssh-connection/ https://help.github.com/articles/adding-a-new-ssh-k......

whoisliang ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部