谜题:找出数组中重复的元素

2023-12-26

数组的大小为n。除了两个元素之外,数组中的所有元素在[0,n-1]范围内都是不同的。以恒定的时间复杂度,无需使用额外的临时数组即可找出重复的元素。

我尝试过像这样使用 o(n) 。

   a[]={1,0,0,2,3};
    b[]={-1,-1,-1,-1,-1};
    i=0;
    int required;
    while(i<n)
    {
      b[a[i]]++;
      if(b[a[i]==1)
        required=a[i];
    }
    print required;

如果对数字范围没有限制,即也允许超出范围。是否可以在没有临时数组的情况下获得 o(n) 解决方案。


XOR所有元素加在一起,然后XOR结果与XOR([0..n-1]).

这给你missing XOR repeat; since missing!=repeat,至少设置一位missing XOR repeat.

选择这些设置位之一。再次迭代所有元素,仅XOR具有该位设置的元素。然后迭代自1 to n-1 and XOR那些设置了该位的数字。

现在,该值要么是重复值,要么是缺失值。扫描元素以获取该值。如果找到它,它就是重复元素。否则,它就是缺失值,所以XOR它与missing XOR repeat.

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

谜题:找出数组中重复的元素 的相关文章

随机推荐

  • 如何使用 cython(或 numpy)加速 pandas

    我正在尝试使用 Cython 来加速 Pandas DataFrame 计算 这相对简单 迭代 DataFrame 中的每一行 将该行添加到自身以及 DataFrame 中的所有剩余行 将每行中的这些求和 并生成列表这些金额 随着 Data
  • ASP.NET 如何实现多线程?

    我听说 ASP NET 在 IIS 中默认是多线程的 这个线程是如何实现的呢 服务器场是否向不同的核心发送不同的请求 单个请求是否使用多个核心 更重要的是 如果线程在 IIS 的更高层完成 那么向 ASP NET 代码添加线程是否有任何优势
  • 使用 Javascript API v3 在 Google 地图中未显示多个标记?

    我想知道如何使用 Javascript API v3 为 Google 地图添加多个标记 我尝试了发布的解决方案here https stackoverflow com questions 1621991 multiple markers
  • 如何在 Windows 上安装 mysql2 gem

    我正在使用 DevKit 和 XAMPP 现在我必须执行以下命令 gem install mysql2 v 0 2 6 platform ruby with mysql dir x Prog ram Files mysql 5 5 11 w
  • 正则表达式从字符串中分割数字

    如何使用正则表达式拆分和选择数字 用户可以输入如下字符串 1打 3打 打 1 30 kg 我仍然发现不完整的 a z d d a z i 但缺少空格和正斜杠 谁能帮我 这里完全不需要环顾四周 See http jsfiddle net 5W
  • 通过查找数据丰富 KStream 的理想方法

    我的流有一个名为 类别 的列 并且我在不同商店中为每个 类别 提供了额外的静态元数据 它每隔几天更新一次 进行此查找的正确方法是什么 Kafka 流有两种选择 在 Kafka Streams 之外加载静态数据并使用KStreams map
  • WordPress 中的相对 URL

    我总是发现在 WordPress 中令人沮丧的是 图像 文件 链接等使用绝对 URL 而不是相对 URL 插入到 WordPress 中 相对 url 对于切换域名 在 http 和 https 之间切换等更方便 今天我发现 如果您使用相对
  • 堆内存分配

    如果我在程序中使用动态分配内存malloc 但我在程序运行时不释放内存 程序终止后动态分配的内存会被释放吗 或者 如果它没有被释放 并且我一遍又一遍地执行同一个程序 它会每次分配不同的内存块吗 如果是这样 我应该如何释放该内存 注意 我能想
  • 如何在 Alamofire 中设置 requestSerializer

    我目前正在从事一个项目swift 我用了Alamofire for REST API但为了使其工作 我需要传递一个参数requestSerializer In AFNETWORKING AFHTTPRequestOperationManag
  • C++ 将字符串时间戳转换为 std::chrono::system_clock::time_point

    我正在尝试通过保留微秒精度 将以以下格式表示的字符串时间戳 28 08 2017 03 59 55 0007 转换为 std chrono system clock time point 有没有办法通过使用标准库或boost来实现这一点 谢
  • 导入 psycopg2 库未加载:libssl.1.0.0.dylib

    当我尝试运行命令时 import psycopg2 我收到错误 ImportError dlopen Users gwulfs anaconda lib python2 7 site packages psycopg2 psycopg so
  • 使用 SSH.NET 将文件从 Windows 移动到 UNIX 服务器时修改的日期时间发生变化

    我在我的 C 应用程序中使用 SSH NET 将文件从 Windows 复制到 UNIX 服务器 我有几个场景 在 UNIX 服务器目录中如果要复制的文件不存在 then 将文件复制到 UNIX 服务器时修改的日期时间将更改为复制的日期时间
  • cx_Freeze 和 Python 3.3

    因此 我有一些 Python 3 3 代码 需要在 Windows 上生成 exe 我发现唯一的方法是使用 cx Freeze 但是 我什至没有比安装更进一步 这个问题完美地描述了我的问题 除了我运行Python 3 3 并且尚未得到解答
  • Github GitIgnore 错误

    我不断收到此错误 error Your local changes to the following files would be overwritten by merge gitignore 如何让它忽略主目录中的 gitignore 文
  • python 为什么以及如何截断数值数据?

    我在这里处理两个变量 但很困惑 因为当我想将它们作为 URL 参数按原样发送时 它们的值似乎正在变化 它们失去了精度 看看我用 python 解释器重现的这个场景 gt gt gt lat 0 33245794180134 gt gt gt
  • 如何获取远程存储库中提交哈希的 git 标签?

    您可以通过执行以下操作来获取指向本地存储库中特定提交的标记 git tag points at
  • iPhone 中的 XSLT 版本

    我计划在我的 iPhone 应用程序中使用 XML XSLT iPhone 目前支持哪个版本的 XSLT 我可以使用 XSLT 2 0 还是仅使用 1 0 Using libxslt在 iPhone OS 上实际上很简单 下载libxslt
  • 1 到 10 之间的不同数字

    我想生成 0 9 范围内的 10 个不同的数字 所需的输出可能如下所示 9 0 8 6 5 3 2 4 1 7 Dim arraynum 9 As Integer Dim crmd As Boolean Dim rmd as integer
  • ReactJS 清除父组件的输入

    我正在教自己使用一个超级简单的应用程序做出反应 该应用程序要求用户输入用户界面中显示的单词 如果用户输入正确 应用程序会显示另一个单词 依此类推 我已经让它几乎可以工作了 除了一件事 正确输入一个单词后 我需要清除输入元素 我在这里看到了几
  • 谜题:找出数组中重复的元素

    数组的大小为n 除了两个元素之外 数组中的所有元素在 0 n 1 范围内都是不同的 以恒定的时间复杂度 无需使用额外的临时数组即可找出重复的元素 我尝试过像这样使用 o n a 1 0 0 2 3 b 1 1 1 1 1 i 0 int r