为什么我必须求和才能找到重复的数字?

2023-12-28

问题:给你一个从 1 到 n-1 的数字序列,其中一个数字仅重复一次。 (例如:1 2 3 3 4 5)。如何找到重复的数字?

通常,这个问题的所谓“聪明”答案就是将其总结并找出与预期总和的差异。但为什么不直接浏览列表并检查前面的数字呢?两者都是 O(n)。我错过了什么吗?


当列表未排序时,“智能”答案是最佳解决方案,因为它仅访问每个元素一次并使用 O(1) 额外空间。如果列表is排序后,甚至有一个 O(log n) 解决方案:您可以进行二分搜索。通过查看中心元素,您可以查看重复的数字是在该元素之前还是之后,并继续平分直到找到它。

Example:

1 2 2 3 4 5 6

中心元素是 3,但它位于第四个位置,因此重复项必须在它之前。下一个检查是第二个位置的 2,所以我们必须照顾第二个位置等。

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

为什么我必须求和才能找到重复的数字? 的相关文章

  • 查找其索引的乘积可被另一个数字 X 整除的对的数​​量

    给定一个数组和某个值 X 找到满足以下条件的对的数量 i lt j a i a j and i j X 0 Array size lt 10 5 我想这个问题有一段时间了 但只能想出蛮力解决方案 通过检查所有对 这显然会超时 O N 2 t
  • 并行化斐波那契序列生成器

    我正在学习并行化 在一项练习中 我得到了一些我应该提高性能的算法 其中之一是斐波那契数列生成器 array 0 0 array 1 1 for q 2 q lt MAX q array q array q 1 array q 2 我怀疑 这
  • 优化重叠矩形的绘制

    我有很多矩形 有些与其他矩形重叠 每个矩形都有一个绝对 z 顺序和一个colour 每个 矩形 实际上是粒子效果 网格或纹理的轴对齐边界框 并且可能是半透明的 但只要您不尝试剔除其他矩形后面的矩形 就更容易抽象地思考彩色矩形 所以我将在问题
  • 优化两个三位数乘积的最大回文数?

    我正在研究一个面试问题 我被问到这个问题 我应该编写一个程序 从两个三位数的乘积中找到最大的回文数 这里是question https projecteuler net problem 4 我想出了这种从底部开始的蛮力方法 public c
  • 2D形状识别与解析算法

    我正在寻找一种算法 用于从给定的一组 x y 点检测简单形状 如矩形 三角形 正方形和圆形 我还在寻找一种方法 一旦检测到 将路径转换为更干净的形状 我已经查遍了互联网 但没有找到任何 简单 的方法 几乎所有这些对于我的简单实现来说都是高级
  • 机器人探索算法

    我正在尝试为机器人设计一种算法 试图找到位于未知位置的旗帜 该旗帜位于一个包含障碍物的世界中 机器人的任务是夺取旗帜并将其带到他的基地 代表他的起始位置 机器人在每一步只能看到有限的邻域 他事先不知道世界是什么样子 但他有无限的内存来存储已
  • 字符串的渐进单词组合

    我需要获得字符串的渐进单词组合 例如 这是字符串 输出 这是字符串 这是 这个字符串 是字符串 这 是 细绳 你知道类似的算法吗 我需要php语言 谢谢 这是解决您问题的简单代码 我将每个字符串递归地连接到数组中的其余字符串 string
  • 分组符号最大长度平衡子序列

    将 B 视为分组符号 和 的序列 如果 B 的长度为 0 或 B 具有以下形式之一 则称 B 为平衡序列 X Y 或 X Y 或 X Y 其中 X 和 Y 本身是平衡的 平衡示例 现在的问题是找到一种有效的算法来找到给定输入的最大长度平衡子
  • 为什么Python中pop()的大O与pop(0)不同[重复]

    这个问题在这里已经有答案了 他们不应该都是O 1 因为从 Python 列表中的任何位置弹出一个元素涉及销毁该列表并在新的内存位置创建一个元素 蟒蛇的list实现使用动态调整大小的 Carray在引擎盖下 删除元素usually要求您移动后
  • 整数除法性质

    下面的整数算术性质成立吗 m n l m n l 起初我以为我知道答案 不成立 但现在不确定 它适用于所有数字还是仅适用于某些条件 即n gt l 该问题涉及计算机算术 即q n m q m n 忽略溢出 Case1 assume m kn
  • O(n^2) 与 O (n(logn)^2)

    时间复杂度是O n 2 or O n logn 2 better 我知道当我们简化它时 它就变成了 O n vs O logn 2 and logn lt n 但是关于logn 2 n is only less than log n 2 f
  • 最低共同祖先算法

    所以我一直在研究实现最低共同祖先算法 我研究了许多不同的算法 主要是 Trajan 解决方案的变体或 RMQ 的变体 我正在使用非二叉树 我的树经常会在查询之间发生变化 因此预处理不一定值得 树的节点数不应超过 50 75 个 我想知道的是
  • 如何确定字符串的最小公约数?

    我在面试时被问到以下问题 并被它难住了 我遇到的部分问题是要下定决心要解决什么问题 起初我并不认为这个问题在内部是一致的 但后来我意识到它要求你解决两个不同的问题 第一个任务是弄清楚一个字符串是否包含另一个字符串的倍数 但第二个任务是在两个
  • java中的Anagram算法

    我想做字谜算法但是 这段代码不起作用 我的错在哪里 例如 des 和 sed 是字谜 但输出不是字谜 同时我必须使用字符串方法 不是数组 public static boolean isAnagram String s1 String s2
  • 如何计算一组字符串的最短唯一前缀?

    这是一个非常常见的算法命令行解析 给定一组预定义的长选项名称 计算唯一标识这些选项之一的最短前缀 例如 对于以下选项 help hostname portnumber name polymorphic 这将是输出 he ho por n p
  • 埃拉托斯特尼筛法是生成 1 到 N 素数的最佳算法吗?

    我在一次采访中被问到这个问题 我使用埃拉托色尼筛子概念和数组实现了一种算法 有没有更好的方法来解决这个问题 对于不知道筛子的人 请点击以下链接 http en wikipedia org wiki Sieve of Eratosthenes
  • 计算总和等于 k ​​的子集数量

    给定一个数组 我们需要找出总和恰好等于给定整数 k 的子集的数量 请针对这个问题提出一个最佳算法 这里不需要实际的子集 只需计数即可 该数组由整数组成 可以是负数也可以是非负数 例子 数组 gt 1 4 1 10 5 绝对值总和 gt 9
  • 读取4个点的坐标。他们做一个正方形吗?

    我计算点之间的距离 如果距离相等 则点构成一个正方形 否则不 仅当我按以下顺序读取坐标 A x y B x y C x y D x y 或相反时 我的代码才有效 但是如果我这样读 例如 A x y B x y D x y C x y 它将不
  • CSR 矩阵 - 矩阵乘法

    我有两个方阵A and B 我必须转换B to CSR Format并确定产品C A B csr C 我在网上找到了很多关于CSR 矩阵 向量乘法 http www mathcs emory edu cheung Courses 561 S
  • 让电脑实现360度=0度,旋转炮塔

    我正在制作一个游戏 其中有一个计算机控制的炮塔 炮塔可360度旋转 它使用 trig 找出枪瞄准所需的角度 obj deg 并将枪的当前角度存储在 gun deg 下面的代码以设定的速度旋转枪 if objdeg gt gundeg gun

随机推荐

  • C++ 类型名和内部类

    我尝试用谷歌搜索这个问题 但无法找到合适的答案 任何 C 大师都可以告诉我为什么 C 要求你声明 OuterClass
  • Kafka 到 Snowflake 连接问题

    我正在尝试从本地独立 Confluence Kafka 主题连接到 Snowflake 表 我正在使用以下连接器配置ksqldb CREATE SINK CONNECTOR snowflake sink WITH name snowflak
  • Eclipse 在调试 ctrl+shift+i 时丢失了检查快捷方式

    我正在尝试恢复快捷方式 但没有成功 有一个执行检查的快捷方式 只需单击 CTRL SHIFT I 但现在我已经没有这个功能了 它似乎消失了 有想法恢复它吗 谢谢 最后我想出了如何恢复这个命令 要到达此面板 您必须转到 Windows gt
  • 比较剪贴板中的 IDataObject

    我的 WPF 应用程序检查剪贴板上的数据 看看它是否可以使用该数据 因为我根据数据设置了一些按钮来启用 禁用 通过ICommand实现 这段代码被频繁调用 确定我的应用程序是否可以处理数据的工作有时可能非常重要 因此会导致我的应用程序随机
  • 在用户输入的数组中查找值

    我试图在用户之前输入过的数组中找到任何用户输入的值 我做了以下操作来查找数组中输入的值 但似乎不知道在哪里插入循环来查找用户输入的搜索值 好的 更新 我正在寻找一种方法来查找用户之前输入的数组中输入的值 如果符合逻辑的话是这样的 好的第二次
  • 面板上的 DrawToBitmap 为空白

    因此 我编写了一个类 它存储一些测试结果信息 然后是一个向用户显示该信息的控件 我想在此类上放置一个打印函数 以全页大小绘制控件并打印它 然而它总是显示空白 该代码将面板视为控件 因为它可能是其他类型的值 我想我一定缺少一些简单的东西 vo
  • 使用 Google Admin SDK 的服务帐户创建用户?

    文档对此有点不清楚 我真的可以这样做吗 到目前为止 我看到的唯一示例来自 Google 文档 该文档显示它使用 GoogleAuthorizationCodeFlow 类来获取授权 我见过一些使用服务帐户更新和检索用户列表的示例 但没有看到
  • 如何设计 Django 的文件选择器表单按钮的样式?

    我正在尝试设计我的 Django文件上传按钮 但由于它是通过表单处理的 并且没有在模板内的 HTML 中显式编写 所以我无法像其他输入类型按钮那样直接使用 HTML 和 CSS 对其进行样式设置 我尝试在我的 CSS 类中添加forms p
  • 将项目动态添加到使用 AJAX 的 jQuery Select2 控件

    我有一个使用 AJAX 进行填充的 jQuery Select2 控件
  • 如何在 Nuxt 中将“text/javascript”添加到

    我有以下脚本 我必须添加到标签 但在 Nuxt 中 我必须将其作为对象添加到 nuxt config js 中 我该怎么做呢
  • R以科学记数法显示数字[重复]

    这个问题在这里已经有答案了 函数的结果以科学计数法显示 我想将其改回正常 但仅限于该函数 我不想更改全局设置 有人可以帮忙吗 你可以做 format functionResult scientific FALSE or as integer
  • HTML5 离线模式和地理定位

    当您在 HTML5 中处于离线模式时 是否仍然可以使用地理定位功能 看来当我在线时 navigator onLine true 地理位置工作正常 但是当我离线时 navigator onLine false 我会被抛出错误回调 并且错误表明
  • 如何在运行 python 脚本时清除 cmd/terminal

    我一直在寻找在运行脚本时清除 shell 的方法 但是有没有办法在 CMD 中运行脚本时清除屏幕 我当前的方法是这样的 clear py import title def clear print n 25 title title game
  • 在 R jupyter 笔记本中使用 ipython 魔法?

    我安装了 jupyterconda install jupyter并正在运行一个安装了 r 内核的笔记本conda create n my r env c r r essentials 我正在运行笔记本并希望从 shell 运行 bash
  • 使用 .NET SDK 在 DynamoDB 中保留动态对象

    我尝试使用 NET SDK 将以下类保留到 DynamoDB public class MyClass public string Id get set public string Name get set public object Se
  • 如何从 PHP 脚本中禁用 Varnish 缓存?

    我分发了一个 PHP 脚本 最近很多人在共享主机帐户上的清漆缓存方面遇到了问题 这是 PHP 脚本顶部的代码 但是 我仍然在响应标头中收到 Varnish HIT 并且脚本无法正常工作 header Pragma no cache head
  • 构建一个 3d 模型查看器 android? [复制]

    这个问题在这里已经有答案了 我正在尝试在 opengl 中构建模型查看器 但被难住了 我基本上只想构建自己的应用程序 可以加载 off 或 obj 格式的自定义模型并将其显示在我的平板电脑上 看一下开源代码的示例 And 的 OBJload
  • 用于检测大写单词的 Stringr 模式

    我正在尝试编写一个函数来检测全部大写的大写单词 目前 代码 df lt data frame title character id numeric gt add row title THIS is an EXAMPLE where I DO
  • 使用 htaccess 从基本 URL 中删除变量

    我一直在尝试重写一个网址 例如 www somesite com x 372 进入一个网址 www somesite com 我当前的代码似乎不起作用 重写引擎开启 RewriteCond QUERY STRING x 重写规则http w
  • 为什么我必须求和才能找到重复的数字?

    问题 给你一个从 1 到 n 1 的数字序列 其中一个数字仅重复一次 例如 1 2 3 3 4 5 如何找到重复的数字 通常 这个问题的所谓 聪明 答案就是将其总结并找出与预期总和的差异 但为什么不直接浏览列表并检查前面的数字呢 两者都是