当前位置:网站首页>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
边栏推荐
- 开源生态研究与实践| ChinaOSC
- 化算力为战力:宁夏中卫的数字化转型启示录
- ESP8266-Arduino编程实例-WS2812驱动
- Use ControlTemplate or Style from resource file in WPF .cs and find the control
- 【飞控开发高级教程6】疯壳·开源编队无人机-AI语音控制
- (十六)51单片机——红外遥控
- 简易电子琴设计(c语言)
- 【leetcode】剑指 Offer II 007. 数组中和为 0 的三个数(双指针)
- 盲埋孔PCB叠孔设计的利与弊
- tRNA修饰2-甲基胞嘧啶(m2C)|tRNA修饰m2G (N2-methylguanosine)
猜你喜欢
List类的超详细解析!(超2w+字)
async 和 await 原来这么简单
详解AST抽象语法树
Detailed demonstration pytorch framework implementations old photo repair (GPU)
tRNA修饰2-甲基胞嘧啶(m2C)|tRNA修饰m2G (N2-methylguanosine)
收藏-即时通讯(IM)开源项目OpenIM-功能手册
转运RNA(tRNA)甲基化修饰7-甲基胞嘧啶(m7C)|tRNA-m7G
【飞控开发高级教程4】疯壳·开源编队无人机-360 度翻滚
Matlab paper illustration drawing template No. 42 - bubble matrix diagram (correlation coefficient matrix diagram)
怎么将自己新文章自动推送给自己的粉丝(巨简单,学不会来打我)
随机推荐
那些年我写过的语言
第三方验收测试报告有什么作用?如何获取权威软件测试报告?
tRNA修饰2-甲基胞嘧啶(m2C)|tRNA修饰m2G (N2-methylguanosine)
利用net-snmp的库实现snmpget,snmpset
Edge box + time series database, technology selection behind Midea's digital platform iBuilding
不要再用if-else
The sword refers to Offer II 044. The maximum value of each level of the binary tree-dfs method
Detailed steps for tensorflow-gpu2.4.1 installation and configuration
EasyCVR平台海康摄像头语音对讲功能配置的3个注意事项
虚拟机vmware设置nat模式上网
「学习笔记」高斯消元
谁的孙子最多II
LeetCode 622. 设计循环队列
Line the last time the JVM FullGC make didn't sleep all night, collapse
宁德时代2号人物黄世霖辞任副董事长:身价1370亿
华为设备配置VRRP负载分担
2022.8.2
alicloud3搭建wordpress
【飞控开发高级教程4】疯壳·开源编队无人机-360 度翻滚
虚拟机vmware设置桥接模式上网