java中两个变量之间交换方法总结
来源:互联网 发布:制作歌曲伴奏软件 编辑:程序博客网 时间:2024/06/05 20:24
今天刷算法题:一个简单的问题如下:
请编写一个函数,函数内不使用任何临时变量,直接交换两个数的值。
给定一个int数组AB,其第零个元素和第一个元素为待交换的值,请返回交换后的数组。
测试样例:
[1,2]
返回:[2,1]
是不是很简单。。。。。。。。我首先 脑海里想到的解决办法是:
import java.util.*;public class Exchange { public int[] exchangeAB(int[] AB) { // write code here int temp=AB[0]; AB[0]=AB[1]; AB[1]=temp; return AB; }}完美解决问题,但是我们题目要求的是不能额外定义变量哦。。。。虽然实现了功能,但是并不是它的要
于是我又继续想了一下,如下:
import java.util.*;public class Exchange { public int[] exchangeAB(int[] AB) { // write code here AB[0]=AB[0]+AB[1]; AB[1]=AB[0]-AB[1]; AB[0]=AB[0]-AB[1]; return AB; }}
既然加减可以,那么乘除应该也是可以的,代码如下:
import java.util.*;public class Exchange { public int[] exchangeAB(int[] AB) { // write code here AB[0]=AB[0]*AB[1]; AB[1]=AB[0]/AB[1]; AB[0]=AB[0]/AB[1]; return AB; }}
咦,这次好像满足了题目的要求。。。。想一想还有没有其他的解决办法呢?
还真有:如下:
采用的是异或的思想,java中我们一个数如果异或同一个数两次,那么得到的还是原来的数。
import java.util.*;public class Exchange { public int[] exchangeAB(int[] AB) { // write code here AB[0]=AB[0]^AB[1]; AB[1]=AB[0]^AB[1]; AB[0]=AB[0]^AB[1]; return AB; }}
暂且想到这四种方法,在此留个影,希望帮助自己和有需要的人。
阅读全文
0 0
- java中两个变量之间交换方法总结
- java中交换两个变量的方法
- Java中交换两个int类型变量的方法汇总
- 交换两个变量的方法总结
- 两个变量的交换方法总结
- java交换两个变量的一种方法
- 交换两个变量方法
- java 两个变量之间如何交换它们的值
- java中不用第三变量交换两个变量的值
- java中交换两个数据的方法
- C语言中交换两个变量数值的方法
- 一些小点------c中两个变量交换的方法
- Java交换两个变量的值的三种方法
- java如何交换这两个变量的值方法介绍
- java如何交换这两个变量的值方法介绍
- java如何交换这两个变量的值方法
- python中交换两个变量
- Java 如何交换两个变量
- 大数据基础知识(待续)
- 删除提交到github上的大文件
- java基础(集合)(初学者)
- MySQL因为外键关联无法删除数据解决方法以及修改数据库全部表中某种外键的值
- C语言实验——求阶乘(循环结构)
- java中两个变量之间交换方法总结
- 法国艺术家在城堡上创作的多彩棱镜壁画
- C++类内静态成员的初始化
- c++面向对象编程——类的初步学习
- 单页面应用接入微信填坑之二(微信支付Nodejs)
- Drools7.5.0教程-目录
- 通过javascript获取本周或上(n)周下(n)周的日期
- bLue的平行四边形
- Shiro——多个Realm的配置