首页 > 试题广场 >

无缓存交换

[编程题]无缓存交换
  • 热度指数:8095 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

给定一个int数组AB,要求编写一个函数,不使用任何临时变量直接交换第零个元素和第一个元素的值。并返回交换后的数组。

测试样例:
[1,2]
返回:[2,1]
头像 害怕一个人的秋招侠在摸鱼
发表于 2021-10-05 22:29:01
本题使用异或解决: //int [] A=new int[]{1,2}; //A[0]=0001 //A[1]=0010 // 两个元素异或后为0011 // 然后0011再去与A[1]异或后得到 0001 =1=A[1] // A[1]再与0011异或后得到 0010=2=A[0 展开全文
头像 杨沛东
发表于 2024-06-21 23:36:27
import java.util.*; public class Exchange { public int[] exchangeAB(int[] AB) { // write code here int [] BA = new int[AB.length] 展开全文
头像 liabi4hao
发表于 2022-03-10 13:36:50
class Exchange { public: vector<int> exchangeAB(vector<int> AB) { // write code here //思路:使用异或性质 //a b 展开全文
头像 果粒陈33
发表于 2022-06-19 17:33:09
# -*- coding:utf-8 -*- class Exchange: def exchangeAB(self, AB): # write code here # 使用异或性质 AB[0] ^= AB[1] AB[1] 展开全文