当前位置:网站首页>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
边栏推荐
猜你喜欢
调用EasyCVR接口时视频流请求出现404,并报错SSL Error,是什么原因?
YARN功能介绍、交互流程及调度策略
亚马逊云科技 Build On 2022 - AIot 第二季物联网专场实验心得
tRNA-m5C转运RNA(tRNA)修饰5-甲基胞嘧啶(m5C)|tRNA修饰m1Am2A (2-methyladenosine)
云服务器如何安全使用本地的AD/LDAP?
机器学习中专业术语的个人理解与总结(纯小白)
Detailed demonstration pytorch framework implementations old photo repair (GPU)
2022 年值得尝试的 7 个 MQTT 客户端工具
RNA-ATTO 390|RNA-ATTO 425|RNA-ATTO 465|RNA-ATTO 488|RNA-ATTO 495|RNA-ATTO 520近红外荧光染料标记核糖核酸RNA
node版本切换工具NVM以及npm源管理器nrm
随机推荐
友宏医疗与Actxa签署Pre-M Diabetes TM 战略合作协议
安装anaconda并创建虚拟环境
149. 直线上最多的点数-并查集做法
软件测试基本流程有哪些?权威的第三方软件检测机构推荐
高性能计算软件与开源生态| ChinaOSC
Internet Download Manager简介及下载安装包,IDM序列号注册问题解决方法
Auto.js脚本程序打包
【leetcode】剑指 Offer II 009. 乘积小于 K 的子数组(滑动窗口、双指针)
化算力为战力:宁夏中卫的数字化转型启示录
不知道这4种缓存模式,敢说懂缓存吗?
使用 ReportLab 绘制 PDF
自定义form表单验证
ESP8266-Arduino编程实例-WS2812驱动
ECCV2022 | 用于视频问题回答的视频图Transformer
net-snmp私有mib动态加载到snmpd
Anaconda 虚拟环境迁移
子结点的数量(2)
百利药业IPO过会:扣非后年亏1.5亿 奥博资本是股东
8.2模拟赛总结
消除对特权账户的依赖使用Kaniko构建镜像