当前位置:网站首页>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
边栏推荐
- NNLM、RNNLM等语言模型 实现 下一单词预测(next-word prediction)
- Internet Download Manager简介及下载安装包,IDM序列号注册问题解决方法
- 宁德时代2号人物黄世霖辞任副董事长:身价1370亿
- JS 内置构造函数 扩展 prototype 继承 借用构造函数 组合式 原型式creat 寄生式 寄生组合式 call apply instanceof
- 花 30 美金请 AI 画家弄了个 logo,网友:画得非常好,下次别画了!
- Benchmarking Lane-changing Decision-making for Deep Reinforcement Learning
- wordpress建立数据库连接时出错
- PHP according to the longitude and latitude calculated distance two points
- 染料修饰核酸RNA|[email protected] 610/[email protected] 594/Alexa 56
- MySQL Basics
猜你喜欢
随机推荐
Matlab paper illustration drawing template No. 42 - bubble matrix diagram (correlation coefficient matrix diagram)
钱江摩托某型号产品ECU货不对版 消费者知情权应如何保障?
汉源高科8光口12电口交换机千兆8光8电12电16电网管型工业以太网交换机
(十六)51单片机——红外遥控
调用EasyCVR接口时视频流请求出现404,并报错SSL Error,是什么原因?
alicloud3搭建wordpress
ESP8266-Arduino编程实例-WS2812驱动
染料修饰核酸RNA|[email protected] 610/[email protected] 594/Alexa 56
ES6-箭头函数
那些年我写过的语言
「学习笔记」高斯消元
ECCV2022 | 用于视频问题回答的视频图Transformer
C中的数据存储
EasyCVR平台海康摄像头语音对讲功能配置的3个注意事项
多模态 参考资料汇总
第三方验收测试报告有什么作用?如何获取权威软件测试报告?
LeetCode 899. 有序队列
虚拟机vmware设置nat模式上网
Pytorch GPU 训练环境搭建
极验深知v2分析