文档章节

面试之路(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
朝阳
程序员
私信 提问
Git SSH连接方式配置

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

架构之路
2017/11/27
0
0
java面试题栈

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

掘金官方
2017/12/06
0
0
Git仓库操作命令

创建仓库 在当前目录执行,会生成目录文件,这个和SVN一致。 提交到仓库 :表示提交描述,必须要填。 添加到远端仓库 推送到远端仓库 克隆仓库 直接从远端把代码克隆下来。 仓库状态 仓库更新...

架构之路
2017/11/27
0
0
Git分支及标签管理

添加分支 git branch 切换分支 git checkout 添加分支并切换 git checkout -b 查看所有分支 git branch 删除分支 git branch -d 合并分支 合并到主干。 git merge 提交分支 git push origin ...

架构之路
2017/11/27
0
0
常用缓存淘汰算法(LFU、LRU、ARC、FIFO、MRU)

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

架构之路
2017/12/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

当S8遇上边缘计算:谈阿里云ENS对直播业务场景的支撑

摘要: 类似S8赛事这样的大型活动直播的特点和技术挑战是什么?为什么业务要下沉到边缘?自建边缘节点和与云服务厂商合作到底该如何选择?边缘节点服务(ENS)又是如何进行技术支撑?提供的针...

阿里云官方博客
19分钟前
5
0
supervisor安装配置

supervisor安装配置 安装 wget -c https://files.pythonhosted.org/packages/44/60/698e54b4a4a9b956b2d709b4b7b676119c833d811d53ee2500f1b5e96dc3/supervisor-3.3.4.tar.gztar -zxvf su......

jackmanwu
29分钟前
1
0
laravel定时器

民间高手: https://blog.csdn.net/zhezhebie/article/details/79205414 官方文档: https://laravel-china.org/docs/laravel/5.5/scheduling/1325...

vio小黑
52分钟前
0
0
Apache Zeppelin安装及使用

Apache Zeppelin官网:http://zeppelin.apache.org/ Apache Zeppelin介绍:A web-based notebook that enables interactive data analytics. You can make beautiful data-driven, interacti......

GordonNemo
53分钟前
4
0
关于python开发多个项目环境配置Anaconda

关于Anaconda用来管理Python的包和环境 下载并安装Anaconda 创建项目:windows键+R ==> 进入CMD => 输入conda create -n 项目名称 python=3 conda info -e 查看项目以及项目所在的位置,默认...

上官清偌
55分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部