当前位置:网站首页>leetcode 16.01. 交换数字(不使用临时变量交换2个数的值)
leetcode 16.01. 交换数字(不使用临时变量交换2个数的值)
2022-08-03 20:06:00 【会编程的露娜】
编写一个函数,不用临时变量,直接交换numbers = [a, b]中a与b的值。
示例:
输入: numbers = [1,2]
输出: [2,1]
提示:
numbers.length == 2
-2147483647 <= numbers[i] <= 2147483647
方法一: 使用 ^ (异或)运算符
异或记住一个口诀:同0异1
int a=10,b=1;
a^=b;
b^=a;
a^=b;
cout<<a<<end<<b; //输出结果是 1 10
解释:
a的二进制表示形式为: 1010
b的二进制表示形式为: 0001经过 a^=b 的运算,a变为 1011
b^=a 得出b为 1010
a^=b 得出a为 0001
方法二: 使用加减解决(但相加之后数据有可能溢出)
int a=2,b=3;
a=a+b; //a现在为5
b=a-b; //b=5-3=2 b现在等于2(先计算等号右边的式子,此时的b还是一开始的3)
a=a-b; //此时等号右边的式子的b为上一行的式子的结果,即2,a为5,计算之后a为3
cout<<a<<" "<<b<<endl; //输出 3 2
边栏推荐
- LeetCode 622. 设计循环队列
- PHP according to the longitude and latitude calculated distance two points
- wordpress建立数据库连接时出错
- MapReduce介绍及执行过程
- 友宏医疗与Actxa签署Pre-M Diabetes TM 战略合作协议
- 机器学习中专业术语的个人理解与总结(纯小白)
- net-snmp编译报错:/usr/bin/ld: cannot find crti.o: No such file or directory
- 李沐动手学深度学习V2-自然语言推断与数据集SNLI和代码实现
- 演讲议题及嘉宾重磅揭晓,TDengine 开发者大会推动数据技术“破局”
- 模板字符串概述
猜你喜欢

xss.haozi练习通关详解

小马智行起诉擎天智卡:索赔6000万 彭军称要斗争到底

ESP8266-Arduino编程实例-WS2812驱动

2022 年值得尝试的 7 个 MQTT 客户端工具

机器学习中专业术语的个人理解与总结(纯小白)

RNA核糖核酸修饰荧光染料|HiLyte Fluor 488/555/594/647/680/750标记RNA核糖核酸

tRNA修饰2-甲基胞嘧啶(m2C)|tRNA修饰m2G (N2-methylguanosine)

ESP8266-Arduino编程实例-BH1750FVI环境光传感器驱动

开源教育论坛| ChinaOSC

百利药业IPO过会:扣非后年亏1.5亿 奥博资本是股东
随机推荐
CSDN帐号管理规范
2022.8.2
Detailed AST abstract syntax tree
自定义form表单验证
云服务器如何安全使用本地的AD/LDAP?
亚马逊云科技 Build On 2022 - AIot 第二季物联网专场实验心得
Detailed demonstration pytorch framework implementations old photo repair (GPU)
使用 ReportLab 绘制 PDF
MapReduce介绍及执行过程
百利药业IPO过会:扣非后年亏1.5亿 奥博资本是股东
开源生态研究与实践| ChinaOSC
钱江摩托某型号产品ECU货不对版 消费者知情权应如何保障?
alicloud3搭建wordpress
Edge box + time series database, technology selection behind Midea's digital platform iBuilding
JMeter笔记5 |Badboy使用和录制
头条服务端一面经典10道面试题解析
边缘盒子+时序数据库,美的数字化平台 iBuilding 背后的技术选型
演讲议题及嘉宾重磅揭晓,TDengine 开发者大会推动数据技术“破局”
Alexa染料标记RNA核糖核酸|RNA-Alexa 514|RNA-Alexa 488|RNA-Alexa 430
怎么将自己新文章自动推送给自己的粉丝(巨简单,学不会来打我)