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
  • 相关阅读:
    java语言基础1问题汇总
    java从命令行接受多个数字求和输出
    关于Django迁移出现问题
    python中在ubuntu中安装虚拟环境及环境配置
    MVC与MVT
    前端性能优化
    less、sass、stylus
    bootstrap
    Swiper4.x使用方法
    swiper
  • 原文地址:https://www.cnblogs.com/vercont/p/10210319.html
Copyright © 2011-2022 走看看