无缓存交换 牛客网 程序员面试金典 C++ Python
无缓存交换 牛客网 程序员面试金典 C++ Python
- 题目描述 
- 请编写一个函数,函数内不使用任何临时变量,直接交换两个数的值。 
- 给定一个int数组AB,其第零个元素和第一个元素为待交换的值,请返回交换后的数组。 
- 测试样例: 
- [1,2] 
- 返回:[2,1] 
C++
class Exchange {
public:
    //run:4ms memory:460k
    vector<int> exchangeAB(vector<int> AB) {
        AB[0] = AB[0]^AB[1];
        AB[1] = AB[0]^AB[1];
        AB[0] = AB[0]^AB[1];
        return AB;
    }
    //run:6ms memory:516k
    vector<int> exchangeAB2(vector<int> AB) {
        AB[0] = AB[0] + AB[1];
        AB[1] = AB[0] - AB[1];
        AB[0] = AB[0] - AB[1];
        return AB;
    }
};Python
class Exchange:
    #run:68ms memory:5632k
    def exchangeAB(self, AB):
        AB[0] = AB[0]^AB[1]
        AB[1] = AB[0]^AB[1]
        AB[0] = AB[0]^AB[1]
        return AB
    #run:68ms memory:5680k
    def exchangeAB2(self, AB):
        AB[0] = AB[0] + AB[1]
        AB[1] = AB[0] - AB[1]
        AB[0] = AB[0] - AB[1]
        return AB无缓存交换 牛客网 程序员面试金典 C++ Python的更多相关文章
- 奇偶位交换 牛客网 程序员面试金典 C++ Python
		奇偶位交换 牛客网 程序员面试金典 C++ Python 题目描述 请编写程序交换一个数的二进制的奇数位和偶数位.(使用越少的指令越好) 给定一个int x,请返回交换后的数int. 测试样例: 10 ... 
- 无判断max 牛客网  程序员面试金典 C++ Python
		无判断max 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个方法,找出两个数字中最大的那个.条件是不得使用if-else等比较和判断运算符. 给定两个int a和b,请返回较大的 ... 
- 平分的直线 牛客网 程序员面试金典 C++ Python
		平分的直线 牛客网 程序员面试金典 C++ Python 题目描述 在二维平面上,有两个正方形,请找出一条直线,能够将这两个正方形对半分.假定正方形的上下两条边与x轴平行. 给定两个vecotrA和B ... 
- 字符串压缩 牛客网 程序员面试金典 C++ Python
		字符串压缩 牛客网 程序员面试金典 C++ Python 题目描述 利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能.比如,字符串"aabcccccaaa"经压缩会变 ... 
- 回文链表 牛客网 程序员面试金典  C++ Python
		回文链表 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个函数,检查链表是否为回文. 给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文. 测试样例 ... 
- 双栈排序 牛客网 程序员面试金典 C++ Python
		双栈排序 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中. ... 
- 原串反转 牛客网 程序员面试金典 C++ Python
		原串反转 牛客网 程序员面试金典 C++ Python 题目描述 请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量). 给定一个string iniS ... 
- 高度最小的BST 牛客网 程序员面试金典 C++ Python
		高度最小的BST 牛客网 程序员面试金典 C++ Python 题目描述 对于一个元素各不相同且按升序排列的有序序列,请编写一个算法,创建一棵高度最小的二叉查找树. 给定一个有序序列int[] val ... 
- 集合栈 牛客网 程序员面试金典 C++ Python
		集合栈 牛客网 程序员面试金典 C++ Python 题目描述 请实现一种数据结构SetOfStacks,由多个栈组成,其中每个栈的大小为size,当前一个栈填满时,新建一个栈.该数据结构应支持与普通 ... 
随机推荐
- Git - 命令行 常用
			一.合并其他分支的commit(A分支中的commit合并至B分支) 切换到A分支,查询commit历史命令行 : $ git log 复制要合并的commit id (如:663802dfb121e ... 
- Sentry 监控 - Dashboards 事件数据可视化大屏
			系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ... 
- ecshop不同的文章分类使用不同的模板的方法
			ecshop文章模板做的太简单,页面很丑,怎么才能实现不同的文章使用不同的模板呢,方法是有的,就是没有shopex那么方便,但还可以实现,只要能用就行. 1.打开article_cat.php文件,在 ... 
- 如何快速下载ubuntu镜像
			使用国内镜像地址下载: 中科大http://mirrors.ustc.edu.cn/ubuntu-releases/ 阿里云开源镜像站http://mirrors.aliyun.com/ubuntu- ... 
- 配置阿里云maven
			在安装好Maven之后,默认的~/.m2目录下是没有maven仓库配置文件settings.xml的,默认使用的是官方的仓库,访问速度会非常慢,我们需要配置下国内的仓库. 创建~/.m2/settin ... 
- nginx负载轮询
			下面是一个可以使用nginx负载轮询,如果有一台服务器连接不通,返404,500,502,503,504,会自动切换到下一台服务器 upstream www { server 111.111.111. ... 
- jmeter旅程第一站:Jmeter抓包浏览器或者抓取手机app的包
			学习jmeter?从实际出发,我也是一个初学者,会优先考虑先用来做一些简单的抓包.接口测试,在实践的过程中学习jmeter用途.那么接下来,这篇文章我会以jmeter抓包开启我的jmeter旅程. 这 ... 
- 在modal中的datetimepicker插件BUG修复
			前言:因为在模态框用到datetimepicker这一日期控件,而选中日期时,会触发模态框的再次打开,导致上面表单选的值会重新加载 解决办法: 用stopPropagation() 方法阻止事件传播, ... 
- 深入浅出WPF-02.WPF系列目录
			WPF系列目录 2. XAML认识 3. XAML语法 4. x名称空间详解 5. 控件与布局 6. 绑定Binding-01 6. 绑定Binding-02 6. 绑定Binding-03 7. 属 ... 
- 四、mybatis动态sql
			# 前言前面mysql都是通过静态sql进行查询的,但是如果业务复杂的时候,我们会遇到引号问题,或者多一个空格,这就使得sql代码编写错误了,所以为了解决这个问题,我们有了动态sql. Mybatis ... 
