面试题2—交换a和b
来源:互联网 发布:汽车资源软件下载 编辑:程序博客网 时间:2024/05/22 10:31
题目:将a,b的值进行交换,并且不适用任何中间变量
思路:异或运算
c语言:
// Change.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include<stdio.h>void change(int a, int b){a = a ^ b;b = a ^ b;a = a ^ b;printf("%d\n",a);printf("%d\n",b);}int main(int argc, char* argv[]){ change(3,4);return 0;}
Java:
public class App {public static void change(int a, int b){a = a^ b;b = a ^ b;a = a ^ b;System.out.println("a="+a);System.out.println("b="+b);}public static void main(String[] args) {change(4, 2);}
Python:
def change(a,b): a = a ^ b b = a ^ b a = a ^ b print a ,bif __name__ == "__main__": change(2,4)
另外一种解题思路是用和运算,但是如果a 和b 是两个很大的数值,a+b会越界
#include "stdafx.h"#include<stdio.h>void change(int a, int b){a = a + b;b = a - b;a = a - b;printf("%d\n",a);printf("%d\n",b);}int main(int argc, char* argv[]){ change(3,4);return 0;}
阅读全文
0 0
- 面试题2—交换a和b
- C++面试题之a和b交换面试题
- a和b交换面试题(用异或解决)
- 面试题——a、b交换与比较
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
- 信号量与锁的差别
- vue动画 -组件
- [leetcode: Python]459. Repeated Substring Pattern
- Oracle查行号为100到110的10条数据
- PHP设计模式系列
- 面试题2—交换a和b
- 树状数组_Ping pong
- java httpClient使用代理实现外网访问
- C++ 性能剖析
- jquery weui上拉加载更多
- Android 无埋点统计简单实现
- UESTC 1583 曜酱的心意 树状数组求逆序数
- ddd
- A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection