求两个数组中最大的共同元素?

2024-02-02

给定两个数组,如何找到两个数组的最大公共元素?

我正在考虑对两个数组(n log n)进行排序,然后对另一个数组中一个已排序数组(从较大的数组开始)中的每个元素执行二分搜索,直到找到匹配项。

eg:

a = [1,2,5,4,3]
b = [9,8,3]

Maximum common element in these array is 3

我们能做得比 n log n 更好吗?


使用一些额外的空间,您可以在 1 个数组中进行散列,然后对另一个数组的每个元素执行 contains 操作,跟踪返回 true 的最大值。将是 O(n)。

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

求两个数组中最大的共同元素? 的相关文章

  • 确定一组日期的事件重复模式

    我正在寻找一种模式 算法或库 它将采用一组日期并在退出时返回重复的描述 即集合 11 01 2010 11 08 2010 11 15 2010 11 22 2010 11 29 2010 会产生类似 十一月的每个星期一 的结果 有没有人以
  • 关于复杂性(如果使用基于比较的排序算法)

    众所周知 任何基于比较模型的排序算法都有nlogn的下界 即Omega nlogn 这可以用数学证明 但众所周知 荷兰国旗问题可以在 O n 时间内对 3 个不同的元素 重复使用 进行排序 它也是基于比较模型 但可以在 O n 时间内进行排
  • 如何找到最大。和分钟。在数组中使用最小比较?

    这是一道面试题 给定一个整数数组 找出其中的最大值 和分钟 使用最小比较 显然 我可以循环数组两次并使用 2n在最坏的情况下进行比较 但我想做得更好 1 Pick 2 elements a b compare them say a gt b
  • 图算法:邻接图的可达性

    我有一个依赖图 我将其表示为Map
  • 最小硬币找零问题——回溯

    我正在尝试用最少数量的硬币解决硬币找零问题 采用回溯法 我实际上已经完成了它 但我想添加一些选项 按其单位打印硬币数量 而不仅仅是总数 这是我下面的Python代码 def minimum coins coin list change mi
  • 查找 int 中的第 n 个 SET 位

    我想要找到的位置不仅仅是最低设置位n最低的设置但是 我是NOT谈论价值n第 位位置 例如 假设我有 0000 1101 1000 0100 1100 1000 1010 0000 我想找到设置的第四位 然后我希望它返回 0000 0000
  • 从 2 个平面轮廓进行表面重建 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有一类用于两个平面轮廓之间的三角测量的算法 这些算法尝试进行 良好的三角测量 来填充这些轮廓之间的空间 其中之一 基于动态规划技术 并使用成本函
  • D3.js 对力导向图使用什么算法?

    我有兴趣确切地知道 D3 使用什么算法来实现库中的力导向图功能 读过科布罗夫的总结 http www cs brown edu rt gdhandbook chapters force directed pdf力导向图的历史让我有点困惑 不
  • 如何从单链表的末尾找到第n个元素?

    以下函数试图找到nth to last单链表的元素 例如 如果元素是8 gt 10 gt 5 gt 7 gt 2 gt 1 gt 5 gt 4 gt 10 gt 10那么结果是7th到最后一个节点是7 任何人都可以帮助我了解这段代码是如何工
  • 需要创建一个“选择你自己的冒险”类型的指南 - 最佳使用方法

    基本上需要询问用户一系列问题并收集信息 每个问题都可能对以后的不同问题产生影响 另一个例子是涡轮税的网络界面 在某些 上回答 是 可能会引发未来的问题 似乎这在软件中是一个相当常见的问题 所以我想我是在问是否有任何现有的解决方案 设计模式可
  • 按字母/字典顺序排列的两个字符串的平均值

    假设您采用字符串 a 和 z 并按字母顺序列出它们之间的所有字符串 a b c x y z 取这个列表的中点 你就会找到 m 所以这有点像取这两个字符串的平均值 您可以将其扩展到具有多个字符的字符串 例如 aa 和 zz 之间的中点将位于列
  • 验证是否存在唯一字符串的组合

    class Details String name String age String email String location 1 如果有详细信息列表 如下所示List
  • O(log n) 总是比 O(n) 快吗

    如果有 2 种算法以不同的复杂度计算相同的结果 O log n 总是会更快吗 如果是这样请解释一下 顺便说一句 这不是作业问题 不会 如果一种算法运行在N 100另一个在 log N 100 那么对于较小的输入大小 第二个将会较慢 渐近复杂
  • 无限循环:确定并打破无限循环

    你如何判断一个循环是无限循环并且会跳出它 有没有人有算法或者可以帮助我解决这个问题 Thanks 没有通用的算法可以确定程序是否处于无限循环中图灵完备 http en wikipedia org wiki Turing completene
  • com.jcraft.jsch.JSchException:算法协商失败

    我正在尝试从客户端计算机连接 sftp 服务器 但是 com jcraft jsch JSchException 算法协商失败 我收到这种错误 com jcraft jsch JSchException Algorithm negotiat
  • 快速计算幂(例如 2^11)[重复]

    这个问题在这里已经有答案了 可能的重复 实现基于整数的幂函数 pow int int 的最有效方法 https stackoverflow com questions 101439 the most efficient way to imp
  • 如何在 Perl 中生成数组的所有排列?

    生成所有内容的最佳 优雅 简单 高效 方式是什么 n perl 中数组的排列 例如 如果我有一个数组 arr 0 1 2 我想输出所有排列 0 1 2 0 2 1 1 0 2 1 2 0 2 0 1 2 1 0 它可能应该是一个返回迭代器的
  • JavaScript 中多个数组的笛卡尔积

    如何在 JavaScript 中实现多个数组的笛卡尔积 举个例子 cartesian 1 2 10 20 100 200 300 应该返回 1 10 100 1 10 200 1 10 300 2 10 100 2 10 200 2020
  • 我想知道像tineye.com这样的反向图像搜索服务是如何工作的......?

    像 TinEye 这样的反向图像搜索引擎如何工作 我的意思是进行图像搜索需要哪些参数 不知道 TinEye 是否使用这个 但是SURF http en wikipedia org wiki SURF是用于此目的的常用算法 在这里您可以看到一
  • 如何决定权重?

    对于我的工作 我需要某种具有以下输入和输出的算法 输入 一组日期 过去的日期 输出 一组权重 每个给定日期一个权重 所有权重的总和 1 基本思想是 距离今天日期最近的日期应该获得最高的权重 第二个最接近的日期将获得第二高的权重 依此类推 有

随机推荐