zoukankan      html  css  js  c++  java
  • 无缓存交换 牛客网 程序员面试金典 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
  • 相关阅读:
    ###STL学习--标准模板库
    打包C#程序
    ###学习《Effective C++》
    [ZJOI2007]棋盘制作
    [NOI2012]美食节
    [SCOI2012]奇怪的游戏
    5120: [2017国家集训队测试]无限之环
    序列取数
    1028: [JSOI2007]麻将
    1011: [HNOI2008]遥远的行星
  • 原文地址:https://www.cnblogs.com/vercont/p/10210319.html
Copyright © 2011-2022 走看看