文档章节

LeetTravel-136、371

阿泽啊
 阿泽啊
发布于 2017/05/17 20:32
字数 224
阅读 2
收藏 0

136

利用异或的运算性质:XOR异或(N^N=0,0^N=N)。

371.Sum of Two Integers

二进制的与运算和异或运算结合可以代替加法,非运算和异或运算结合可以代替减法。

代码如下:

//加法
public int getSum(int a, int b) {
	if (a == 0) return b;
	if (b == 0) return a;

	while (b != 0) {
		int carry = a & b;
		a = a ^ b;
		b = carry << 1;
	}
	
	return a;
}
//减法
public int getSubtract(int a, int b) {
	while (b != 0) {
		int borrow = (~a) & b;
		a = a ^ b;
		b = borrow << 1;
	}
	
	return a;
}

与运算相当于进位运算,因为与运算是两个都是1才是1,这就表明,结果有1的位置处是需要进位的;

异或运算是,必须两位数分别是0和1,结果才是1,其他都是0,实际上异或运算恰好是不考虑进位的加法运算。

© 著作权归作者所有

共有 人打赏支持
阿泽啊
粉丝 0
博文 11
码字总数 5063
作品 0
美国
让32位Linux/CentOS系统支持4G以上内存

让32位的CentOS系统支持4G以上内存,刚开始的时候有人说用64位的系统不都解决了吗?其实32位系统和64位系统各有各的用处。下面使用CentOS-5.5-32位演示。 一、系统环境: VMware虚拟机 系统:...

lichao19881026
2016/04/26
33
0
自由职业和外包项目单月预算超过3亿人民币

根据万事网(Vastwork.com)最新数据报告表 明,在2010年12月,全球主要项目网站新增项目91,703个,项目预算51,371,060美元,折合人民币约339,048,996元。据数据报 告表明,在“项目金额前1...

jobBole
2010/12/31
1K
1
EF封装类 增加版,增加从缓存中查找数据方法,供参考!

EF封装类 增加版,增加从缓存中查找数据方法,供参考! 这个类是抽象类,我这里增加了需要子类验证的方法ValidateEntity,方便扩展,若想直接使用该类,可以将该类更改成静态类,里面所有的方...

技术小牛人
2017/11/15
0
0
servlet download 手机端无法下载,pc端没问题

public void downloadAndroidAPPEx() { log.info("ServletDownload downloadAndroidAPP:"); try { FacesContext ctx = FacesContext.getCurrentInstance(); ctx.responseComplete(); String ......

Y292450104
2015/10/20
97
0
zabbix-server端配置情况简要分析。

PS:别喷,我压根就知道没多少人会在意这个。所以我留个印象。。不懂的可以留言具体讨论。 本文转自 陈延宗 51CTO博客,原文链接:http://blog.51cto.com/407711169/1346795,如需转载请自行...

余二五
2017/11/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ReentrantLock_可重入

package cunrent;import java.util.Calendar;import java.util.concurrent.locks.ReentrantLock;public class TestReentrantLock { public static void main(String[] args......

noteman
44分钟前
2
0
CentOS7下安装mysql5.7

1、安装YUM Repo 由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。 wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm 然后进行repo的安...

JungleKing
52分钟前
2
0
DevExpress v18.1新版亮点——DevExtreme篇(三)

用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容。本文将介绍了DevExtreme JavaScript Controls v18.1 的新功能,快来下载试用新版本!点击下载...

Miss_Hello_World
52分钟前
1
0
LoadRunner 安装

如果安装LoadRunner 11时弹窗提示"Micosoft Visual C++ 2005 SP1 可再发行组件包(X86):'命令行选项语法错误。键入命令 / ? 可获得帮助信息'"。或者弹窗提示"此计算机缺少 vc2005_sp1_wit...

ww1234
今天
1
0
两个时间段相隔自然月Util

public class DateUtil { public static int getDay(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calend......

木九天
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部