面试之路(2)-百度算法题
2016-04-16 23:09
429 查看
题目:
实现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; }
相关文章推荐
- 房产界已上市和IPO路上的难兄难弟:房天下与房多多
- 利用百度地图提供的API做的应用
- 搜狗百度360市值齐跌:搜索引擎们陷入集体焦虑?
- 百度20年:搜索帝国的崛起、式微与重生
- 小白观察:Google 开始清除百度旗下公司开发的 46 款应用程序
- 只有程序员看的懂的面试圣经|如何拿下编程面试
- 下一次技术面试时要问的 3 个重要问题
- 书评:《算法之美( Algorithms to Live By )》
- 动易2006序列号破解算法公布
- 百度全面恢复网站权重,流量暴涨中
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- PHP程序员面试 切忌急功近利(更需要注重以后的发展)
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- c语言实现的带通配符匹配算法