文档章节

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,实际上异或运算恰好是不考虑进位的加法运算。

© 著作权归作者所有

共有 人打赏支持
上一篇: LeetTravel-1-twoSum
下一篇: LeetTravel-561
阿泽啊
粉丝 0
博文 11
码字总数 5063
作品 0
美国
私信 提问
关于JPQL中执行IN函数的问题,请指教。

目前使用SpringMVC+JPA(Hibernate)+Spring做的项目。目前在@Controller层有如下方法: /** * 重置密码 * @param ids 选择的用户ids * @param newPW 新的密码 * @return */ @SuppressWarnings...

projack
2013/03/13
2.2K
2
非常奇葩的缓存问题,请问大家遇到过吗java.lang.ClassNotFoundException: boolean

大家遇到过这种问题吗,经常莫名其妙的爆出来 Caused by: org.apache.shiro.cache.CacheException: net.sf.ehcache.CacheException: java.lang.ClassNotFoundException: boolean at org.apac......

秋水长天
2015/11/25
3.7K
1
servlet download 手机端无法下载,pc端没问题

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

Y292450104
2015/10/20
106
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

没有更多内容

加载失败,请刷新页面

加载更多

给windows server中的“未识别的网络”或“无法识别的网络”设置网络位置类型

在windows server中,如果网络没有被正确的识别,那么就需要手工设置一下网络位置类型。 将“公用网络”指定设置为“专用网络“ 【控制面板】--【系统和安全】--【管理工具】--【本地安全策略...

gugudu
55分钟前
1
0
阿里强制要求的21条Java开发规范,可以避免很多坑

1. 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。 2. 【强制】所有的覆写方法,必须加@Override注解。 说明:getObject...

天王盖地虎626
今天
7
0
oracle dg 备库未设置convert参数导致ORA-01111,ORA-01110

查看trace 文件: MRP0: Background Managed Standby Recovery process started (amls) started logmerger process Sun Jan 20 07:55:53 2019 Managed Standby Recovery starting Real Time ......

hnairdb
今天
2
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linux-tao
今天
2
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linuxprobe16
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部