三路异或类函数

2023-12-27

我正在尝试解决以下难题:

Given a stream of numbers (only 1 iteration over them is allowed) in which all numbers appear 3 times, but 1 number appear only 2 times, find this number, using O(1) memory.

我一开始的想法是,如果所有数字出现 2 次,而 1 个数字只出现一次,我可以使用xor所有数字之间的运算,结果将是隐身号码。

所以我想扩展这个想法来解决这个难题。我所需要的只是一个类似异或的函数(或运算符),它在第三次应用时会产生 0:

SEED xor3 X xor3 X xor3 X = SEED

X xor3 Y xor3 SEED xor3 X xor3 Y xor3 Y xor3 X = SEED

对于这样的功能有什么想法吗?


将 XOR 视为对以二进制(即基数 2)表示的数字的每一位求和,模 2。

现在考虑一个由以下组成的数值系统tribits0、1、2。也就是说,它的基数是3。

运营商T现在变成对任何数字的运算,分解为这个基数。与 XOR 一样,您将位相加,但不同之处在于运算符T以模 3 运行。

你可以很容易地证明a T a T a对于任何一个都为零a。您还可以证明T既可交换又可结合。这是必要的,因为一般来说,您的序列会将数字弄乱。

现在将其应用到您的号码列表中。操作结束时,输出将是b where b = o T o and o是恰好出现两次的数字。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

三路异或类函数 的相关文章

  • 类方法作为 JavaScript 中的事件处理程序?

    JavaScript 中是否有最佳实践或通用方法将类成员作为事件处理程序 考虑以下简单示例
  • 如何在 kotlin 中检查 lambda 空值

    在 Kotlin 中如何检查 lambda 是否为空 例如 我有这样的签名 onError Throwable gt Unit 我如何区分它的默认值是应用于主体还是应用于此函数的值 您无法测试 lambda 的主体是否为空 因此它不包含源代
  • JavaScript 函数默认参数[重复]

    这个问题在这里已经有答案了 const add a 1 b 1 c 1 gt a b c add 4 2 抛出未捕获的语法错误 意外的标记 如何调用该函数 使 b 默认为值 1 就拿undefined https developer moz
  • 函数内部变量的赋值会改变外部的赋值 - Python

    我从使用 Matlab 转向使用 Python 使用函数时的变量赋值让我感到困惑 我有一个代码如下 a 1 1 1 def keeps x y x y 1 2 return y def changes x y x y 1 2 return
  • 是否可以在 UML 中可视化一堆函数

    我正在改进一个使用类和函数文件 只是包含各种函数的 php 文件 的内容管理系统 例如 我有一堂课叫Admin以及一个功能文件 其功能包括显示管理员概述 创建新管理员 编辑现有管理员 删除管理员 函数文件使用类并执行 mvc 概念的可视化部
  • 局部函数声明有什么用处吗?

    大多数像我这样的 C 程序员都曾犯过以下错误 class C int main C c declares a function c taking no arguments returning a C not as intended by m
  • C 函数声明中的无类型参数

    最近我一直在查看 Steven Skiena 的在线资源中的一些 C 示例代码 算法设计手册 http www cs sunysb edu skiena algorist book programs 并且对他的一些函数调用的语法感到困惑 诚
  • 在 Java 中,三个 true 输入的 XOR 返回 true。为什么?

    下面的代码 System out println 1 0 0 true false false System out println 1 0 1 true false true System out println 1 1 0 true t
  • 当函数参数与c中的const参数声明不匹配时编译的程序

    我有一段这样的代码 include
  • 在 numpy/scipy 中查找 matlab 函数

    是否有一个等价的函数find A gt 9 1 来自 numpy scipy 的 matlab 我知道有nonzeronumpy 中的函数 但我需要的是第一个索引 以便我可以在另一个提取的列中使用第一个索引 Ex A 1 2 3 9 6 4
  • C++ 实现友元/内联函数

    我似乎找不到这个新手问题的答案 如果我有课 头文件 h Class X public friend bool operator const X const X inline size type rows const ETC 当我去实现X的
  • 向Java类库添加函数

    我使用的 Java 类库在很多方面都不完整 有很多类我认为应该内置其他成员函数 但是 我不确定添加这些成员函数的最佳实践 让我们调用不足的基类A class A public A long arbitrary arguments publi
  • 确定 PHP 到目前为止执行了多长时间

    我需要确定 PHP 函数到目前为止已经运行了多长时间 有哪些选项可以确定某些 PHP 代码的运行时间 我正在使用 zend 框架 Call microtime true 函数以毫秒分辨率获取当前时间
  • 找到将一个数字转换为另一个数字的最小移动次数的算法

    假设我们有两个正整数 a 和 b 每次移动我们都可以将 a 除以 2 但前提是 a 是偶数 将 a 乘以 2 或者将 a 加 1 将a变为b需要多少步 找到一个直接公式或一种有效的算法 即以对数时间运行的算法 我取得的一些进展 我们可以把它
  • jquery 中的函数返回未定义[重复]

    这个问题在这里已经有答案了 我在 jquery 中调用的函数返回未定义 我检查了该函数 当我对其进行调试时 它返回正确的数据 function addToPlaylist component type add to pl value pl
  • `list()` 被认为是一个函数吗?

    list显然是内置类型 https docs python org 3 library stdtypes html list在Python中 我看到底下有一条评论this https stackoverflow com a 53645813
  • 了解 Matlab 中的 DEL2 函数以便用 C++ 对其进行编码

    为了用 C 编写 DEL2 matlab 函数 我需要了解该算法 我已经成功地为不在边界或边缘上的矩阵元素编写了函数 我已经看过几个有关它的主题 并通过输入 edit del2 或 type del2 来阅读 MATLAB 代码 但我不明白
  • +=、|=、&= 等是原子的吗? [复制]

    这个问题在这里已经有答案了 修改 运算符是这样的吗 等等原子 I know 是原子的 如果你执行x 同时 在两个不同的线程中 你总是会得到x增加了 2 而不是x x 1优化关闭 我想知道是否variable constant 以及类似的东西
  • Javascript 函数与 php 一样吗?

    我在网站上使用 WebIM 提供聊天支持 我希望能够在客户端启动聊天会话时设置一个计时器 如果操作员 技术人员在 x 秒内没有响应 我希望页面重定向到客户端可以留言的另一个页面 有点像 请稍等 我们尝试联系您 这样 如果所有技术人员都太忙或
  • C/C++ 中的“-->”运算符是什么?

    看完之后C STL 的隐藏特性和黑暗角落 http groups google com group comp lang c moderated msg 33f173780d58dd20 on comp lang c moderated 我非

随机推荐

  • element.classList.toggle 中的第二个参数有什么意义?

    From MDN https developer mozilla org en US docs Web API Element classList 切换方法有一个可选的第二个参数 它将根据第二个参数的真实性强制添加或删除类名 例如 要删除一
  • 如何使用 npm httpsnippet 将代码转换为 javascript fetch?

    我正在使用 npm httpsnippet 生成客户端代码 工作正常 但后来我看到在将代码转换为 javascript 时 它正在转换为 XHR 但我需要将其转换为 javascript fetch fetch 在 HTTPSnippet
  • 从数据框中删除特定行

    我有一个数据框 例如 sub day 1 1 1 2 1 3 1 4 2 1 2 2 2 3 2 4 3 1 3 2 3 3 3 4 我想删除可以通过 sub 和 day 组合识别的特定行 例如 假设我想删除 sub 1 和 day 2 以
  • IE11有支持BigInt的吗?

    我试图在 stackoverflow 和 google 中寻找答案 以了解在 IE 11 中支持 BigInt 的任何方式 有没有人成功为 IE 和旧版本的 Safari 添加 BigInt 支持 目前我正在开发一个使用 BigInt 的插
  • Facebook C# SDK - .NET 3.5 和动态对象

    我已经下载了 facebook 的 Graph C SDK 这些示例非常有用且易于理解 但是当我尝试使用动态对象类型作为 FacebookApp Get me 调用的返回对象时 我遇到了困难 我以前从未使用过动力学 所以我做了一些研究 它们
  • 包含 TypeScript 编译器的 src 之外的文件夹

    我需要添加一个生成的文件夹 它既不是全局环境的一部分 也不在src 为源文件提供模块作为有效的命名空间 如下所示 root src component test model ts import IBuilding from api inte
  • C++11:具有对数求值深度的编译时数组

    实现 C 11 数组的一种方法是使用模板 部分特化和constexpr 如下 include
  • 使用泛型重载方法[重复]

    这个问题在这里已经有答案了 当我尝试创建两个静态重载方法时 出现编译错误 谁能解释一下吗 public class A public static void a Set
  • Angular 5 仅对模糊进行验证?

    我想知道是否可以在模糊时以反应形式进行验证 此时你可以设置updateOn blur 但输入字段的值不会在输入时更新 就我而言 我需要在每次击键时更新值 因为我用它进行计算并向用户显示结果 验证应该只在模糊时进行 thx EDIT 我使用
  • 如何使用 JPA 搜索字段上的子字符串?

    我的应用程序使用 JPA 访问后端数据库 我有一个映射到表的 Java 类 该类有一个字符串字段 称为状态 由一系列 0 和 1 组成 我需要根据字段的第二个字符选择一些记录 以下是我在不使用 JPA 的情况下可以执行的操作 我正在使用 M
  • 未调用搜索控制器的更新搜索结果

    有谁知道为什么这里不叫它 谢谢 我认为我正确地设置了代表 class LocationSearchController UIViewController UISearchResultsUpdating UINavigationBarDele
  • ArrayAdapter 的 getViewTypeCount 和 getItemViewType 方法

    有人可以用简单的话解释我的用法吗getViewTypeCount and getItemViewType 的方法ArrayAdapter 这些处理您想要不同的情况types不同行的视图 例如 在联系人应用程序中 您可能希望偶数行在左侧显示图
  • 关闭呈现视图控制器

    我有以下情况 视图控制器 A gt 以模态方式呈现 gt 视图控制器 B 视图控制器 B gt 以模态方式呈现 gt 视图控制器 C 我想关闭视图控制器 C 并直接转到 A 而不是显示 B 因为当时显示 B 没有意义 我怎样才能做到这一点
  • 程序集在大数字之前打印字符

    这个程序可以很好地打印小数字 但不能打印大数字 我不知道为什么 例如print 1346269将打印为 c1346269 和print 40000将打印为 40000 就像它应该的那样 这是宏 macro print 1 mov rax 1
  • MAX 与 Top 1 - 哪个更好?

    我必须审查一些代码 并遇到了有人做过的事情 并且想不出为什么我的方法更好但可能不是的原因 那么 哪个更好 更安全 更高效 SELECT MAX a date FROM a table WHERE a primary key 5 GROUP
  • TinyMCE 4 - 将自定义样式/类/属性添加到任何 HTML 标签

    是否有任何插件 可能性允许通过 TinyMCE 4 WYSIWYG 将自定义属性添加到 HTML 标签 例如 我通过编辑器添加了此代码 而不是通过源代码 div a href uploads myfile pdf My file img s
  • 使用 JavaScript 以复利计算未来价值

    我正在尝试编写一个脚本 其中用户插入每月收入并获得 30 年后复利的未来价值 现在 我已经分配了一些值用于测试目的 Future Value var investment 800 var annualRate 2 var monthlyRa
  • 为多个 JavaScript 文件启用严格模式

    要为所有 JavaScript 启用严格模式 use strict 设置需要位于每个导入的 JavaScript 文件的顶部 第一个文件的顶部还是任何文件的顶部 似乎没有这方面的文档 Thanks 它需要位于您想要的每个脚本的顶部stric
  • 将列表转换为 R 中的数据框并添加带有子列表名称的列

    List l有三个字符串 分别命名为一 二和三 我想转换l到数据框 我需要一个附加列 其名称为n l lt list c a b c c d e c e n lt c one two three 我可以使用循环来完成此操作 但我确信有更有效
  • 三路异或类函数

    我正在尝试解决以下难题 Given a stream of numbers only 1 iteration over them is allowed in which all numbers appear 3 times but 1 nu