首页 > 其他分享 >面试题 16.01. 交换数字

面试题 16.01. 交换数字

时间:2024-03-27 21:35:01浏览次数:24  
标签:面试题 交换 back 16.01 异或 vector numbers

题目链接:

本题要求不能借助临时变量交换 \(a\) 和 \(b\) 的值,应想到借助异或运算的性质。本题亦是异或运算的一个经典应用。

a = a ^ b;//记a ^ b的值为c

b = b ^ a = b ^ (a ^ b) = a ^ (b ^ b) = a ^ 0 = a;

a = a ^ b = (a ^ b) ^ a = b ^ (a ^ a) = b;

即实现了两个数的交换。

以下是 \(AC\) 代码。

class Solution {
public:
    vector<int> swapNumbers(vector<int>& numbers) {
        vector<int> v;
        int a = numbers[0], b = numbers[1];
        a = a ^ b;
        b = b ^ a;
        a = a ^ b;
        v.push_back(a), v.push_back(b);
        return v;
    }
};

标签:面试题,交换,back,16.01,异或,vector,numbers
From: https://www.cnblogs.com/pangyou3s/p/18100284

相关文章

  • zookeeper面试题
    文章目录ZooKeeper是什么?ZooKeeper提供什么?1.文件系统2.通知机制ZooKeeper文件系统四种类型的znode1.PERSISTENT(持久化目录节点)2.PERSISTENT_SEQUENTIAL(持久化顺序编号目录节点)3.EPHEMERAL(临时目录节点)4.EPHEMERAL_SEQUENTIAL(临时顺序编号目录节点......
  • 面试题:在百万keys的Redis里面,如何模糊查找某个key.
    面试题:在百万keys的Redis里面,如何模糊查找某个key.在百万级别的Redis数据库中,进行模糊查找某个key时,需要注意查询效率和对Redis服务器性能的影响。以下是一些建议和方法:1.使用SCAN命令代替KEYS由于KEYS命令在大规模数据集上执行时会阻塞Redis服务器,并可能导致严重......
  • 前端面试题:hash模式和history模式
    hash(哈希)和history(历史)是前端路由的两种模式,它们的主要区别在url,兼容性,服务器配置,美观性,和导航操作上面1,URLhash的url前面有#来表示路径,而history没有hash:hash模式是一种把前端路由的路径用#拼接在真实url后面的模式,通过hashchange事件监听hash值的改变来渲染页......
  • Web举例:防火墙二层,上下行连接交换机的主备备份组网
    Web举例:防火墙二层,上下行连接交换机的主备备份组网介绍了业务接口工作在二层,上下行连接交换机的主备备份组网的Web举例。组网需求如图1所示,两台FW的业务接口都工作在二层,上下行分别连接交换机。FW的上下行业务接口都加入到VLAN10和VLAN20中。现在希望两台FW以主备备份方......
  • 交换原理
    交换原理数据在计算机网络中从源到目的地,中间要经过链路以及交换节点交换节点有链路层交换机(Switch)以及路由器(Router)数据具体是如何进行交换的?计算机和因特网开端可以追溯到电话网,一种采用电路交换的通信网络,然后由于计算机和因特网的发展,其用户产生的流量具有突发性,即活动的......
  • Java面试题:请解释Java中的集合框架?并详细说明各个集合的应用场景
    Java中的集合框架(CollectionFramework)是一组用来存储和管理对象的类和接口的集合,它为开发中常见的数据结构和算法提供了一种统一的、可重用的实现。Java集合框架的主要目的是提供一种灵活、可扩展的方式来存储和操作对象集合,而无需关心底层数据的存储细节。Java集合框架主......
  • IT部门都想要的跨网文件交换解决方案,了解一下!
    近年来全球网络安全威胁态势的加速严峻,使得企业对于网络安全有了前所未有的关注高度,企业的网络安全体系建设正从“以合规为导向”转变到“以风险为导向”,从原来的“保护安全边界”转换到“保护核心数据资产”的思路上来。为了保护企业的核心数据资产,绝大多数企业都在内部实施了内......
  • 交换机分类、性能参数
    交换机分类 根据交换方式分存储转发交换完整的接收数据帧,缓存-验证-碎片过滤-转发优点:可以提供差错校验和非对称交换缺点:延迟大直通式交换输入端口扫描到目标地址后立即开始转发优点:延迟小、交换速度快缺点:没有检错能力,不能实现非对称交换碎片过滤式交换开......
  • Python面试题:神秘公司的挑战(3)!
    题目十一:闭包(Closure)的概念和示例:答案:闭包是指在函数内部定义的函数,并且内部函数可以访问外部函数的局部变量。闭包可以捕获并保持外部函数的状态,使得函数具有记忆功能。以下是一个闭包的简单示例:defouter_function(x):definner_function(y):returnx+y......
  • Java面试题:请解释Java中的字符串和字符串缓冲区?
    一、请解释Java中的字符串和字符串缓冲区?Java中的字符串(String)和字符串缓冲区(StringBuffer)都是用来处理字符序列的类,但它们之间有一些重要的区别。字符串(String)不可变性:字符串是不可变的,一旦创建就不能被修改。如果需要修改字符串,实际上是创建了一个新的字符串对象。字符......