编写一个函数,不用临时变量,直接交换numbers = [a, b]ab的值。

示例:

输入: numbers = [1,2]
输出: [2,1]

示例代码:

class Solution(object):def swapNumbers(self, numbers):""":type numbers: List[int]:rtype: List[int]"""return [numbers[1], numbers[0]]

思路解析:返回list

示例代码2:

class Solution(object):def swapNumbers(self, numbers):""":type numbers: List[int]:rtype: List[int]"""numbers[0] ^= numbers[1]numbers[1] ^= numbers[0]numbers[0] ^= numbers[1]return numbers

思路解析:异或交替求解(可以防止溢出),与加减法类似

示例代码3:

class Solution(object):def swapNumbers(self, numbers):""":type numbers: List[int]:rtype: List[int]"""numbers[0] = numbers[0] + numbers[1]numbers[1] = numbers[0] - numbers[1]numbers[0] -= numbers[1]return numbers

思路解析:加减法

示例代码4:

class Solution(object):def swapNumbers(self, numbers):""":type numbers: List[int]:rtype: List[int]"""return numbers[::-1]

思路解析:切片

交换数字(不用临时变量)相关推荐

  1. 不用临时变量,交换两个变量的值

    不用临时变量,交换两个变量的值 a=a^b;     b=a^b;     a=a^b; 或者   a=a+b;     b=a-b;     a=a-b;

  2. 不用临时变量交换两个变量的值

    在学习C语言的时候,涉及到两个变量值的交换,其中用到临时变量. 类似于: temp=a;a=b;b=temp; 这样的语句,如果在没有临时变量的情况下,该如何做呢? 网络上的人们给出了两种方法: 一. ...

  3. C语言不用临时变量交换a,b的值

    现在有个题是: 要求不创建临时变量,来交换a,b的值,问有几种办法 首先先来一个创建临时变量交换的 int temp=0;temp=a;a=b;b=temp; 相信大家也都会,哈哈哈,就不多讲了 加减 ...

  4. 写一个使两个整数进行交换的方法(不能使用临时变量) 【前端每日一题-27】...

    写一个使两个整数进行交换的方法(不能使用临时变量) 这道题是一个比较有意思的题,记录于此. var a=10; var b=20;...不用临时变量让a和b交换console.log(a); cons ...

  5. 不创建临时变量交换两个数,这才是高手

    不创建临时变量交换两个数?这才是高手 1.基本介绍 1.代码编写 总结 1.基本介绍 交换两个数,想必大家都很熟悉,也很容易写出来就可以实现,即创建一个临时变量,就可以完成两个数的交换,然后更牛逼的大 ...

  6. 程序员面试金典 - 面试题 16.01. 交换数字(位运算swap)

    1. 题目 编写一个函数,不用临时变量,直接交换numbers = [a, b]中a与b的值. 示例: 输入: numbers = [1,2] 输出: [2,1]提示: numbers.length ...

  7. C++实现1.交换两个整形变量的内容.2.不创建临时变量的条件下,交换两个数的内容.3.求是个整数中的最大值.4.将三个数按从大到小输出.5.求两个数的最大公约数.

    / //给定两个整型变量的值,并交换他们的值 int main(){ int a = 10; int b = 20; int temp = a; //创建一个临时变量,来做交换值的中间媒介 a = b ...

  8. 【C语言刷题】交换两个变量(包含不创建临时变量)的解法

    目录 一.常规方法(引入空瓶变量) 二.题目要求,不允许创建临时变量 2.1 通过两数加法实现交换 2.2 按位异或操作符实现交换 题目:写代码实现两个变量的交换.(不允许创建临时变量) 一.常规方法 ...

  9. java 交换两个数的值(临时变量,加减,异或)

    临时变量 开发中一般使用此方式 加减 第二种写法: //3.使用加减d1=d1+d2;d2=d1-d2;d1=d1-d2;System.out.println("d1="+d1+& ...

最新文章

  1. python中没有arcpy怎么办_Arcpy学习笔记(一)—无中生有(上)
  2. html中Marquee属性详解
  3. 使用Palette类提取图片的颜色信息
  4. linux内核中断向量表,中断向量表
  5. 在线安装php,CentOS在线安装PHP|dayblog-天天博客|PHP交流,PHP技术,PHP博客,博客交流,dayblog,blog,天天博客...
  6. 减少上下文切换和避免死锁简述
  7. Mysql 基础学习
  8. java基本框架代码_Rxjava 源码系列 - 基础框架分析
  9. oracle中某字段显示long,ORACLE的ALL_VIEWS数据字典text字段long类型问题
  10. db.serverStatus()
  11. Linux从入门到精通——基础篇
  12. 红帽linux系统服务器下载,redhat linux 下载地址大全 完全整理
  13. ruby 安装bundler的方法
  14. 能快速修改视频格式的工具分享
  15. 营养学和计算机交叉,营养配餐系统综述
  16. 钉钉API考勤打卡记录获取并存入数据库(python)
  17. OSRM开源地图导航引擎介绍一
  18. 什么是TXT记录?如何设置、检测TXT记录
  19. 思科刀片服务器统一计算系统,思科统一计算系统白皮书.doc
  20. zabbix===》微信报警、聚合图形、自动发现自动注册、监控NFS、MySQL、web服务、URL地址

热门文章

  1. 给力!一行代码躺赚普通程序员10年薪资!
  2. “Hey Siri” 背后的黑科技大揭秘!
  3. 周伯文对话斯坦福AI实验室负责人:下一个NLP前沿是什么?
  4. 一览六月最热的5篇AI技术论文
  5. 一张“黑洞”需要拍两年?有了它或许就不会让大家等那么久了
  6. AI科技大本营在线公开课大放送(附演讲PPT)
  7. 一周焦点 | 李彦宏:如果谷歌回来,有信心再赢一次;GitHub深度学习开源项目Top200...
  8. 英特尔推深度学习加速工具包OpenVINO,布局边缘计算,发力物联网业务
  9. 微软小冰发布知乎主题曲,人工智能首次开始接近人类歌手水平
  10. 漫画 | 阿姨,我不想努力了