当前位置:网站首页>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
边栏推荐
- 安装anaconda并创建虚拟环境
- tensorflow-gpu2.4.1安装配置详细步骤
- 盘点在线帮助中心对企业能够起到的作用
- Statistical machine learning 】 【 linear regression model
- 调用EasyCVR接口时视频流请求出现404,并报错SSL Error,是什么原因?
- 倒计时2天,“文化数字化战略新型基础设施暨文化艺术链生态建设发布会”启幕在即
- 【飞控开发高级教程3】疯壳·开源编队无人机-定高、定点、悬停
- 【飞控开发高级教程4】疯壳·开源编队无人机-360 度翻滚
- 【leetcode】剑指 Offer II 009. 乘积小于 K 的子数组(滑动窗口、双指针)
- DeepMCP网络详解
猜你喜欢
随机推荐
汉源高科8光口12电口交换机千兆8光8电12电16电网管型工业以太网交换机
relocation R_X86_64_PC32 against,/usr/bin/ld: final link failed: Bad value
PHP according to the longitude and latitude calculated distance two points
【leetcode】剑指 Offer II 007. 数组中和为 0 的三个数(双指针)
RNA核糖核酸修饰Alexa 568/[email protected] 594/[email prote
那些年我写过的语言
【飞控开发高级教程3】疯壳·开源编队无人机-定高、定点、悬停
高并发,你真的理解透彻了吗?
2022.8.2
149. 直线上最多的点数-并查集做法
matplotlib画polygon, circle
【飞控开发高级教程4】疯壳·开源编队无人机-360 度翻滚
2022 年值得尝试的 7 个 MQTT 客户端工具
Statistical machine learning 】 【 linear regression model
ECCV2022 | 用于视频问题回答的视频图Transformer
C51 存储类型与存储模式
tRNA甲基化偶联3-甲基胞嘧啶(m3C)|tRNA-m3C (3-methylcy- tidine)
1161 最大层内元素和——Leetcode天天刷【BFS】(2022.7.31)
群辉查看硬盘存储占用的方式
转运RNA(tRNA)甲基化修饰7-甲基胞嘧啶(m7C)|tRNA-m7G









