查找已排序数组中不重复的元素

2023-11-24

资料来源:微软面试问题


是的,您可以使用排序来降低复杂性O(log n)通过二分查找。

由于数组已排序,因此在缺失元素之前,每个值都占据位置2*k and 2*k+1在数组中(假设从 0 开始索引)。

所以你转到数组的中间,比如索引h,并检查任一索引h+1 if h是偶数,或者h-1 if h很奇怪。如果缺失元素出现在后面,则这些位置的值相等,如果缺失元素出现在前面,则这些位置的值不同。重复此操作,直到找到丢失的元素。

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

查找已排序数组中不重复的元素 的相关文章

  • 大小为 8 的无效写入,C Valgrind,字符串数组

    我一直在使用 valgrind 和 gdb 但我不太明白问题是什么 它跳来跳去太多了 我无法在 gdb 中真正追踪它 而在 valgrind 中我没有足够的信息 这是我的 makeargv 函数 它将 strtok 输出的字符串放入数组中
  • pq:函数unnest(未知)不是唯一的

    以下代码工作正常 但我想将 array a b c d e 定义为变量 rows err db Query select colname from SELECT date unnest array a b c d e AS colname
  • C# 3维数组

    我想将 3 维数组中的 ARRAY 存储到buildingCostIds 中 但它说我必须有第三个数字 public static int buildingCost 0 1 2 5 5 5 public static void addBui
  • Swift:在 Core Data 中存储自定义类的数组

    我是核心数据新手 但对于我的一个新项目 我想将我的数据保存到核心数据 我想创建一个 Reptile 类 其中包含几个自定义类数组 如果没有核心数据 我会得到这样的东西 import Foundation import UIKit class
  • Java 读取大文本文件时出现 OutOfMemoryError

    我是 Java 新手 正在读取非常大的文件 需要一些帮助来理解问题并解决它 我们有一些遗留代码 必须对其进行优化才能正常运行 文件大小仅在 10mb 到 10gb 之间变化 只有当文件开始大小超过 800mb 时才会出现启动问题 Input
  • 根据位置计算组合

    我在解决这个问题时遇到了麻烦 创建一个函数 给定字符集 C 可以生成第 N 个组合 或者返回给定起始位置 Ns 和结束位置 Ne 以及组合的最大长度 Mx 的一系列组合 一个具体的例子 令 C A B C 我们知道不同的组合将如下所示 假设
  • 如何连接以逗号分隔的命名范围的返回值

    我花了几个小时试图找出如何连接命名范围中的返回值 但结果是 运行时错误 32 类型不匹配 作为一个新手 我仍在与数组作斗争 所以也许我忽略了一些细节 谢谢你帮助我 示例 B1 苯 B2 柴油 B3 混合动力 gt E1 汽油 E2 柴油 E
  • 将数组值导出到 csv 文件 java

    我只需要帮助将数组元素导出到 csv 文件 我不知道我的代码有什么问题 任何帮助将不胜感激 谢谢 for int index 0 index lt cols length index FileWriter fw new FileWriter
  • 使用 numpy 加速 for 循环

    下一个 for 循环如何使用 numpy 获得加速 我想这里可以使用一些奇特的索引技巧 但我不知道是哪一个 这里可以使用 einsum 吗 a 0 for i in range len b a numpy mean C d e f b i
  • 具有 3 路划分的快速排序

    什么是三向分区快速排序 画一个数组 3 5 2 7 6 4 2 8 8 9 0 A 两分区快速排序会选择一个值 比如 4 并将每个大于 4 的元素放在数组的一侧 将每个小于 4 的元素放在另一侧 就像这样 3 2 0 2 4 8 7 8 9
  • 变量的多个值介于 0 和数字序言之间

    所以我一直在尝试自学序言 我认为我进展顺利 然而 我有点坚持我正在尝试的这一种方法 toN N A A 等于 0 到 N 1 之间的整数值 按升序生成 所以 toN 5 A 将是 A 0 A 1 A 2 A 3 A 4 我对序言还很陌生 所
  • 有人真正有效地实现了斐波那契堆吗?

    你们中有人曾经实施过斐波那契堆 http en wikipedia org wiki Fibonacci heap 几年前我就这样做了 但它比使用基于数组的 BinHeaps 慢了几个数量级 当时 我认为这是一个宝贵的教训 告诉我们研究并不
  • $_POST 最大数组大小

    我有一个非常大的表单 有 gt 1000 个元素 它们已经嵌套在表单 html 结构中 foreach from result item item tr td td tr
  • 在 Bash 中从文本文件创建数组

    脚本采用 URL 解析它的所需字段 并将其输出重定向以保存在文件中 file txt 每次找到字段时 输出都会保存在新行中 file txt A Cat A Dog A Mouse etc 我要拿file txt并在新脚本中从中创建一个数组
  • PHP:合并/添加多维数组?

    假设我有几个具有相同结构的多维数组 如下所示 basketA fruit apple 1 basketA fruit orange 2 basketA fruit banana 3 basketA drink soda 4 basketA
  • 使用 calloc() 设置 char 数组,完成后还会“释放”数组

    我正在尝试设置一个字符串数组 在 C 语言中 使用 Linux 该数组将容纳 11 个字符串 静态长度 我最初将数组设置为 char Answers 10 100 但在我的代码中 我有一部分调用 fgets input sizeof inp
  • 为什么路径压缩不会改变 UnionFind 中的排名?

    我正在研究 UnionFind 的实现 并从这里进行排序和路径压缩http en wikipedia org wiki Disjoint set data struct Disjoint set forests http en wikipe
  • 计算复杂数组的abs()值的最快方法

    我想计算 C 或 C 中复杂数组元素的绝对值 最简单的方法是 for int i 0 i lt N i b i cabs a i 但对于大向量来说 速度会很慢 有没有办法加快速度 例如使用并行化 语言可以是 C 或 C 鉴于所有循环迭代都是
  • 如何在 scala 中的二维数组上使用 contains 方法

    我有一个二维数组 我想检查二维数组内是否存在数组 我努力了 var arr Array Array 2 1 Array 4 3 var contain arr contains Array 4 3 println contain 这应该打印
  • 证明字符串算法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi

随机推荐

  • Fusion Log Viewer 的替代品?

    除了 Fuslogvw exe 之外 是否还有其他 Fusion 日志查看器程序 或者将 Fusion 日志输出定向到您自己的目录 然后手动检查大量 HTM 文件 我的两个主要抱怨是 我想要一个概述 显示哪些程序集加载成功 哪些失败 我不确
  • 当时仅打开一扇平开窗

    我开发了一个 Swing 应用程序 但每次运行应用程序时都会打开新窗口 我希望如果一个窗口已打开 则其他窗口不允许打开 Here是一个例子Java单个应用程序实例 单实例应用程序是一种无论用户尝试启动多少次都只允许运行 1 个应用程序的应用
  • event.preventDefault() 函数在 IE 中不起作用

    以下是我的 JavaScript mootools 代码 orderNowForm addEvent submit function event event preventDefault allFilled false required e
  • 如何通过 Eclipse 插件使用 Java 11 (Java 10)?

    如果我在 Eclipse 插件中指定 JavaSE 10 作为最低执行环境 当我的插件作为 Eclipse 应用程序启动时 出现以下错误 org osgi framework BundleException Could not resolv
  • 先有鸡还是先有蛋的问题:文件的哈希值(包括文件内的哈希值)!可能的?

    问题是我有一个有元数据空间的文件 我想在其中存储用于完整性验证的哈希值 问题是 一旦我存储了哈希值 文件和哈希值就会随之改变 我完全理解 根据定义 使用 md5 sha 等单向加密哈希方法是不可能的 我还意识到容器可以像 zip co 那样
  • UseShellExecute=false 时无法提升权限

    我想启动一个具有提升权限但具有隐藏窗口的子进程 实际上是相同的控制台应用程序 我接下来做 var info new ProcessStartInfo Assembly GetEntryAssembly Location UseShellEx
  • 如何从文件中读取特定格式的数据?

    我应该从类似于此格式的文件中读取输入和参数 Add id 324 name john name2 doe num1 2009 num2 5 num2 20 问题是我不允许使用 fgets 我尝试使用 fscanf 但不知道如何忽略 并分隔字
  • 无法调用“事件”命令:应用程序已被破坏

    因此 我今天正在调试一些代码 并注意到输出中出现一条新消息 can t invoke event command application has been destroyed while executing event generate w
  • 键盘辞职降低了弹出窗口的高度

    我在 ios 4 3 上遇到了一个奇怪的问题 我的一个屏幕处于横向模式 单击按钮会出现一个弹出窗口 我的弹出窗口有一个搜索栏 每当键盘出现时 它会自动将我的弹出窗口向上推 当我退出键盘时 弹出窗口的高度减小 这只是 ios 4 3 上的问题
  • C++ 类中的函数指针表

    我正在尝试在类中创建一个函数指针表 我在网上找不到任何这样的例子 大多数都涉及在类之外使用成员函数指针 例如 class Test typedef void Test FunctionType FunctionType table 0x10
  • 我可以覆盖 inline !important 吗?

    如果你有 div style display none important div 有没有办法覆盖样式表中的样式以使其显示 最好使用与此类似的东西 div display block important 首先我要说的是一般是内联样式can被
  • std::string 运算符 + 与 stringstream 的性能[重复]

    这个问题在这里已经有答案了 我正在将旧的代码库从使用字符串的自定义实现迁移到使用 std string 我们的一位工程师担心这可能会导致性能问题 因为我们使用 和 来连接相对较长的字符串 他特别关心的是当字符串动态增长时如何分配内存 他建议
  • 背景图片有理想的尺寸吗?

    例如 1x1 图像加载速度会比 2x2 图像加载速度更快吗 尺寸会更小 但浏览器的工作量必须是原来的两倍 对吧 那么 背景图像是否有理想的尺寸和形状 正方形与矩形 我知道这可能不太重要 但我有兴趣知道 谢谢 我认为您的图像没有 理想 尺寸
  • Telerik 控件布局问题 - Visual Studio 2013

    我最近在我的计算机上安装了 Visual Studio 2013 和 2012 我们有几个使用 Telerik 控件的 Web 应用程序 ASP NET 和 MVC 今天 我注意到手风琴控件 扩展器 已完全展开 其中的内容一个又一个地堆叠在
  • [] 和 {} 与 list() 和 dict() 相比,哪个更好? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我知道它们本质上是同一件事 但就风格而言 哪一个用于创建空列表或字典更好 更Pythonic 就速度而言 它与空列表 字典没有竞争 gt gt gt from timeit import
  • Python BigQueryallowLargeResults 与 pandas.io.gbq

    我想使用用于读取 BigQuery 的 Pandas 库数据 如何允许较大的结果 对于非 Pandas BigQuery 交互 可以这样实现this Pandas 的当前代码 sProjectID project id sQuery SEL
  • 使用 ASP.Net 实现多语言网站

    我正在使用 ASP Net 实现一个多语言网站 语言为英语 法语和阿拉伯语 请注意 阿拉伯语的方向是 RTL 实施多语言支持的最佳方式是什么 我计划使用 Net 本地化功能 但网站文本存储在数据库中 对于控件 表单控件 我可以使用 resx
  • 跟踪栏仅在最终值上触发事件,而不会在时间值发生变化时触发事件

    我正在开发一个非常基本的 C Visual Studio 表单应用程序 但在让轨迹栏按照我想要的方式运行时遇到一些问题 因此希望社区中的某个人可以为此提供解决方案 我所拥有的是一个非常基本的应用程序 主要部分是一个值为 0 到 100 的轨
  • 解释 GetKeyState / GetCursorPos 的错误

    有时我会收到客户的错误报告 但我无法解释 在 Delphi 中的 Application Run 之后 我收到以下错误 EOSError System error Code 5 Access denied Call Stack Inform
  • 查找已排序数组中不重复的元素

    资料来源 微软面试问题 是的 您可以使用排序来降低复杂性O log n 通过二分查找 由于数组已排序 因此在缺失元素之前 每个值都占据位置2 k and 2 k 1在数组中 假设从 0 开始索引 所以你转到数组的中间 比如索引h 并检查任一