文档章节

面试之路(2)-百度算法题

fengsehng
 fengsehng
发布于 2016/11/09 09:16
字数 159
阅读 2
收藏 0

题目:

实现Swap(int a,int b)要求是不使用临时变量,可以使用四则运算和异或等运算

思路:

  • 可以使用异或,如果如何int值和0异或等于自身,而且int值和自身异或结果是零,符合交换律
  • 加法的思路是也是一样,先加上后减去,也是等于自身

答案:

  • 异或:(异或用^表示)
swap(int a,int b){
     a = a ^ b;
     b = a ^ b;
     a = a ^ b;
}
  • 加法
swap(int a,int b){
    a = a + b;
    b = a - b;
    a = a - b;
}
  • 加法和乘法
swap(int a,int b){
    a = (b) + (b = a)* 0;
}

© 著作权归作者所有

共有 人打赏支持
fengsehng
粉丝 4
博文 284
码字总数 214494
作品 0
朝阳
程序员
常用缓存淘汰算法(LFU、LRU、ARC、FIFO、MRU)

QQ用得起来越少了,现在就加入300+技术微信群,下方公众号回复"微信群"即可加入。 image 缓存算法是指令的一个明细表,用于决定缓存系统中哪些数据应该被删去。 常见类型包括LFU、LRU、ARC、...

架构之路
2017/12/17
0
0
Android-Java面试

2016 年末,腾讯,百度,华为,搜狗和滴滴面试题汇总 2016 年未,腾讯,百度,华为,搜狗和滴滴面试题汇总 各大公司 Java 后端开发面试题总结 各大公司 Java 后端开发面试题总结 刚出炉的一线...

掘金官方
01/02
0
0
java面试题栈

JavaEE面试题收集 Java EE平台构建于Java SE平台之上,Java EE平台提供一组API和运行环境来开发和运行大规模的,多层的,可扩展的,可靠的和安全的网络应用程序。这里会不断收集和更新JavaE...

掘金官方
2017/12/06
0
0
Git SSH连接方式配置

如果使用ssh的方式管理,需要配置ssh key. 1、打开git bash命令窗口 2、生成ssh key 为github上你注册的email地址。 如下面完整创建过程: 上面默认生成在用户主目录的目录下,可以自己输入自...

架构之路
2017/11/27
0
0
年末干货!Java技术栈2017年度精选干货总结

Java技术栈2017年总结 2017年即将收尾了 这一年,满满的都是干货 这一年,我们的更新不曾停歇 这一年,你装逼内功应已有所成 我是小猿,下面是本年度的分享知识图谱 看完是不是有点蒙逼了?没...

架构之路
2017/12/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

gson1.7.1线程并发导致空指针问题

java.lang.NullPointerExceptionat com.google.gson.FieldAttributes.getAnnotationFromArray(FieldAttributes.java:231)at com.google.gson.FieldAttributes.getAnnotation(FieldAttribut......

东风125
47分钟前
3
0
以太坊RPC接口使用

以太坊RPC接口文档: https://github.com/ethereum/wiki/wiki/JSON-RPC#web3_clientversion 使用方式: 比如我要调用某个合约的balanceOf(address _owner)方法。 因为没有改变合约的状态,所以...

王坤charlie
今天
2
0
C#下的一个好用的日历库(sxtwl_cpp),支持农历转公历,和公历转农历等功能

sxtwl_cpp是寿星天文历的C++版本实现。支持多种语言的绑定 代码首页 懒人包 懒人包使用方法 1、右链工程中的引用-》添加引用-》浏览-》选中dotnet目录下的sxtwl.net.dll 2、生成解决方案-》找...

元谷
今天
3
0
C++基础知识

链接:https://zhuanlan.zhihu.com/p/38399566 本文主要提一下以下三个区别: 引用必须初始化,而指针可以不初始化。 我们在定义一个引用的时候必须为其指定一个初始值,但是指针却不需要。 ...

悲催的古灵武士
今天
1
0
Oracle备份脚本,保留10天数据

@echo off echo 删除10天前的备分文件和日志forfiles /p "D:\oracleback\backfile" /m *.dmp /d -10 /c "cmd /c del @path" forfiles /p "D:\oracleback\backfile" /m *.log /d -10......

lyle_luo
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部