大小为 n 的数组,其中一个元素 n/2 次

2024-05-28

给定一个由 n 个整数组成的数组,其中一个元素出现超过 n/2 次。我们需要在线性时间和恒定的额外空间中找到该元素。

YAAQ:又一个数组问题。


我有一种偷偷的怀疑,这类似于(在 C# 中)

// We don't need an array
public int FindMostFrequentElement(IEnumerable<int> sequence)
{
    // Initial value is irrelevant if sequence is non-empty,
    // but keeps compiler happy.
    int best = 0; 
    int count = 0;

    foreach (int element in sequence)
    {
        if (count == 0)
        {
            best = element;
            count = 1;
        }
        else
        {
            // Vote current choice up or down
            count += (best == element) ? 1 : -1;
        }
    }
    return best;
}

这听起来不太可能起作用,但确实有效。 (证明作为 postscript 文件 http://www.cs.utexas.edu/users/boyer/mjrty.ps.Z,由博耶/摩尔提供。)

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

大小为 n 的数组,其中一个元素 n/2 次 的相关文章

  • 计算排列中“反转”的数量

    设 A 为一个大小的数组N 我们称之为几个索引 i j 一个 逆 如果i lt j and A i gt A j 我需要找到一种接收大小数组的算法N 具有唯一的数字 并返回时间的倒数数O n log n 您可以使用归并排序 http en
  • 如果我在计算强连通分量时不使用 G 转置会怎样?

    我正在阅读算法导论 在 22 5 强连通分量中 算法 STRONGLY CONNECTED COMPONENT G 定义为 调用 DFS G 计算每个顶点 u 的完成时间 u f 计算 G 转置 调用 DFS G transpose 但在
  • 拓扑排序卡恩算法 BFS 或 DFS

    拓扑排序的方法是BFS还是DFS 哪个正确 我认为BFS是对的 但有些网站说DFS 有些网站说BFS 我很困惑 卡恩算法与 BFS 或 DFS 相同吗 或者BFS 或DFS 只是卡恩算法的工具 Kahn算法和DFS在实践中都用于拓扑排序 选
  • 位图中连续区域的计数是否可以比 O(r * c) 改进?

    您将获得一张由卫星拍摄的表面图像 该图像是一个位图 其中水用 标记 土地标记为 相邻组 形成一个岛屿 二 如果它们水平 垂直或对角相邻 则它们是相邻的 您的任务是打印位图中岛屿的数量 输入示例 输出 5 这是我的实现 需要O r c 空间和
  • 快速计算幂(例如 2^11)[重复]

    这个问题在这里已经有答案了 可能的重复 实现基于整数的幂函数 pow int int 的最有效方法 https stackoverflow com questions 101439 the most efficient way to imp
  • 准备与大数据相关的设计和架构问题的最佳方法[关闭]

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

    我为最长递增子序列提出了简单的以下递归解决方案 但是 您可以帮助将记忆包含到这个递归解决方案中吗 public int findLIS int a int maxSoFar int item int count if item a leng
  • 转置矩阵存储在一维数组中,无需使用额外的内存[重复]

    这个问题在这里已经有答案了 可能的重复 矩阵的就地转置 https stackoverflow com questions 9227747 in place transposition of a matrix 最近参加了技术笔试 通过以下问
  • 如何使用 C 中的 Banker's Rounding 将 double 舍入为 int

    我想编写一个函数 使用银行家的舍入方法将双精度数舍入为整数 将一半舍入为偶数 http en wikipedia org wiki Rounding Round half to even http en wikipedia org wiki
  • n维匹配算法

    在这里寻求一些建议 有谁知道在 n 维空间中开始研究匹配算法的好地方 例如 任何约会网站都必须使用某种算法来匹配 2 个人 我读到的是 我们可以将一个人的特征映射到一个 n 维数组中 每个特征都有一个点系统 一旦我们拥有一个人的所有 可用
  • 如何规划庭院灯最有效的路线

    我正在尝试挂一些庭院灯 基于另一个问题 https cs stackexchange com questions 80134 christmas light route efficiency我问 我意识到我需要一种算法来解决路由检查问题 h
  • 将 diff 转换为带有删除线的 Markdown?

    我想转换输出diff 在 Markdown 文件上 降价与
  • 拉伸数组

    我有一个形成曲线的样本向量 假设其中有 1000 个点 如果我想将其拉伸到填充 1500 个点 给出不错结果的最简单算法是什么 我正在寻找一些只有几行 C C 的东西 我总是想增加向量的大小 并且新向量可以是当前向量大小的 1 1 倍到 5
  • 缩小位图字体的算法

    这是后续这个问题 https stackoverflow com questions 4179414 low level c display text pixel by pixel 我正在开发一个低级 C 应用程序 我必须在其中绘制文本 我
  • 什么是无锁多线程编程?

    我见过有人 文章 SO 帖子说他们已经设计了自己的 无锁 容器用于多线程使用 假设他们没有使用影响性能的模数技巧 即每个线程只能基于某个模数进行插入 数据结构如何能够是多线程的而且是无锁的 这个问题是针对C和C 的 无锁编程的关键是使用硬件
  • 德尔福 LZMA

    我在 7 zip 网站上找到了一个 LZMA 库 但是没有用 我不使用文件 只使用流 出于某些原因 7 zip 站点上的库只将标头写入流而不压缩流 有人遇到了一些问题吗 有例子吗 知道 Delphi 的其他 LZMA 库吗 Tks 我自己没
  • 计算哪些字符串将具有相同的哈希值

    使用 SHA 1 是否可以计算出哪些有限字符串将呈现相等的哈希值 您正在寻找的是该问题的解决方案碰撞问题 http en wikipedia org wiki Collision 28computer science 29 也可以看看碰撞攻
  • 在 F# 中计算排列

    受此启发question https stackoverflow com questions 283561 extracting leaf paths from n ary tree in f and answer https stacko
  • 合并排序数组,最佳时间复杂度是多少?

    我有 m 个数组 每个数组的长度为 n 每个数组都已排序 我想创建一个长度为 m n 的单个数组 其中包含先前数组的所有值 包括重复值 并已排序 我必须合并这些数组 我认为最佳时间复杂度是 m n log m 这是算法的草图 我创建了一个长
  • 生成一定范围内的 N 个随机数,其总和为常数

    我想生成从 a b 之间的特定分布 例如均匀随机 抽取的 N 个随机数 其总和为常数 C 我尝试了一些我自己能想到的解决方案 以及在类似线程上提出的一些解决方案 但是他们中的大多数要么适用于有限形式的问题 要么我无法证明结果仍然遵循所需的分

随机推荐

  • 创建永远不匹配的 mongo 表达式的最佳方法

    我正在寻找的内容在某种程度上相当于在 SQL 中执行的操作 WHERE 1 0 我正在寻找这样的东西 因为我正在构建一个类型安全的 DSL 来在我的域上执行查询 支持连接和析取 有时 添加一个从不匹配任何内容的查询可能比在代码中处理它更容易
  • 对 SQL 时间序列进行采样

    我有一个日期时间的时间序列 存储在 mySQL 中的双列 并且希望每分钟对时间序列进行采样 即以一分钟的间隔提取最后一个值 有没有一种有效的方法可以在一个 select 语句中执行此操作 蛮力方法将涉及选择整个系列并在客户端进行采样或为每个
  • 如何将 WebJob 集成到 Azure 数据工厂管道中

    我正在尝试将 WebJob 集成到 ADF 管道中 webjob 是一个非常简单的控制台应用程序 namespace WebJob4 class ReturnTest static double CalculateArea int r do
  • 是否有可能将 *.pdb 文件包含到发布版本中以查看错误行号?

    我做了一个项目 所有设置都是默认的 当我在调试模式 构建配置 调试 下运行它并遇到异常时 它转储到我的自定义日志记录机制 其中包含错误行号 但是当我运行发布构建时 记录相同的异常 没有行号 只有方法抛出和记录调用堆栈 是否有可能在发布配置
  • 如何在模态窗口中显示pdf? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个模式窗口 其中包含锚文本 当我单击此链接时 它必须调用其他位置的 pdf 并将其显示在弹出窗口中 我怎样才能做到这一点 请帮忙
  • 如何在 ColdFusion 中对 SOAP 请求正文进行数字签名?

    对我来说是新的挑战 我需要使用提供商颁发的证书对来自 ColdFusion 客户端应用程序的 SOAP 请求正文进行数字签名和加密 我还需要解密响应才能处理它 我已经搜索了几天 但一无所获 我找到了引用其他语言的信息 但在 ColdFusi
  • JetBrains Rider 针对 4.5 框架,无法切换到 4.7

    基本上 当尝试添加不支持旧框架的 NuGet 包时 会出现错误 但是在项目配置中只有 4 5 可用 在项目创建过程中 不存在选择目标的选项 有什么方法可以正确配置它吗 I haven t found out how to set up NE
  • 模板化字符串时出现模板错误:意外的字符 u - Ansible

    执行剧本以在远程主机中运行命令并使用 shell 传递输出时 出现以下错误 致命 master1 失败 gt MSG 模板化时出现模板错误 字符串 4 处出现意外的字符 u a 字符串 54aa7fda16833bff8358b6bd115
  • ArrayPlot 中的自定义 ColorFunction/ColorData(以及类似函数)

    这与西蒙有关关于更改默认 ColorData 的问题 https mathematica stackexchange com q 4712 121在数学中 虽然解决方案都解决了改变的问题ColorData在线图中 我不太发现讨论对改变Col
  • DefaultDocument 突然无法在 IIS7 上运行

    我有一个网站 在 IIS7 上运行了大约 2 个月 我们设置了默认文档 以便在用户访问没有页面的域时加载 default asp 页面 今天早上突然出现错误 默认文档无法加载 如果我输入default asp 文件加载得很好 错误信息 模块
  • 将 Django 的 FileField 设置为现有文件

    我在磁盘上有一个现有文件 例如 folder file txt 在 Django 中有一个 FileField 模型字段 当我做 instance field File file folder file txt instance save
  • Hive:在查询中将 array 转换为 array

    我有两张桌子 create table a 1 array
  • [matplotlib]:理解“set_ydata”方法

    我试图了解如何使用 set ydata 方法 我在 matplotlib 网页上找到了很多示例 但我只找到了 set ydata 被 淹没 在大型且难以理解的代码中的代码 我想要一个简短且易于理解的代码来帮助我理解 set ydata 的工
  • 如何向剑道对话框操作添加回调

    我尝试使用 Kendo UI DialogService 在对话框中调用我自己的组件 我遇到的问题是在对话框中使用自定义操作 包含带有自定义按钮和操作的 ng template 在某种程度上违背了使用对话服务的目的 并且使用与其不直接相关的
  • .htaccess - 将多个子目录重写到根目录

    我正在尝试将多个子目录重写到根目录 我遇到的情况是我有一个名为blog 其中将包含主站点文件夹和另一个名为的子目录项目 包含我想从根目录访问的其他文件夹 www blog work contact projects projectA pro
  • 在 WHERE 子句中使用可选参数

    我有一个SP ALTER PROCEDURE dbo sp Compare lst varchar 100 frst varchar 100 NULL passportNo varchar 50 NULL AS SELECT FROM db
  • Concourse CI 找不到 kubernetes 秘密

    当运行程序尝试检索资源时 我收到以下错误 checking failed Expected to find variables git 我的资源看起来类似于 name resource repo type git source uri ht
  • 使用Python批量重命名文件

    下面是我的代码来批量重命名给定目录中的图片 def multi filename change i 0 files askstring Select your folder Paste your directory path where y
  • 增加 sigmoid 预测输出值?

    我创建了一个用于文本分类的 Conv1D 模型 当在最后一个密集处使用 softmax sigmoid 时 它产生的结果为 softmax gt 0 98502016 0 0149798 sigmoid gt 0 03902826 0 00
  • 大小为 n 的数组,其中一个元素 n/2 次

    给定一个由 n 个整数组成的数组 其中一个元素出现超过 n 2 次 我们需要在线性时间和恒定的额外空间中找到该元素 YAAQ 又一个数组问题 我有一种偷偷的怀疑 这类似于 在 C 中 We don t need an array publi