查找一系列范围内最频繁重复的整数

曲棍球

我进行了这项练习,无法弄清自己所缺少的内容。它实际上与现有问题非常相似,但是不一样,解决方案也可能不一样。存在的问题:从一组范围中查找最频繁的数字-

问题:


在[0,n d ]的范围内给您n个范围[a i,b i ],其中d是一个恒定的正整数。a i,b i也是整数,并且每个i(i = 1,...,n)为0 <= a i <= b i <= n d

编写算法以查找出现在最大范围[a i,b i ]中的整数z 复杂度必须是线性的(作​​为n,d的函数)。


在我看来,这是一个经典的计数/基数排序问题:使用k = n作为基数,排序的复杂度变为O(d * n)。问题是,下一步该怎么做?我对此有些困惑。在相关问题中,有一个假设是范围只能是某个大小,而在我的问题中没有这样的假设,并且理论上可以有[0,n d ]的范围,介于两者之间。

随机示例:

输入:[1、3],[5、10],[5、11],[6、17],[8、9],[9、21],[11、15],[12、12]
输出:9
尼克拉斯B.

排序是个好主意(基数排序似乎是一种方法),但是我不会对间隔进行排序。相反,我将使用扫掠线样式方法。想象一下从0到n ^ d的数字线上绘制的间隔。现在我们从左向右“扫动”。

有趣的一点是,与当前位置相交的间隔可以改变的情况是间隔的起点/终点。请注意,我们总是可以选择起点或终点之一作为解决方案。

因此,我们只考虑这些点并从左向右扫描:

events = start points UNION end points
sort events (rank start points before end points in case of a tie)
count = 0
max = 0
for each event x in sorted order
    if x is start point
        count++
    if x is end point
        count--
    if count > max
        max = count
        result = x

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查找一系列范围内最频繁重复的整数

来自分类Dev

Google表格返回基于值的范围内的一系列连接值

来自分类Dev

在bash脚本中的特定范围内创建一系列不同的随机数

来自分类Dev

生成值的数据框,该值在一系列范围内

来自分类Dev

搜索特定列中的一系列数字并隐藏不在该范围内的行

来自分类Dev

VBA Excel 选择命名范围内的一系列单元格

来自分类Dev

如何在一系列特定的恒定宽度列范围内计算平均值?

来自分类Dev

如何复制一系列公式值并将其粘贴到另一张工作表中的特定范围内?

来自分类Dev

从SQL / Oracle中的一系列数字中查找范围

来自分类Dev

一系列单元格的重复值

来自分类Dev

重塑R中的一系列重复数据

来自分类Dev

使用循环提取一系列整数

来自分类Dev

找出一系列整数中跳过的值

来自分类Dev

如何在一系列整数中除以a?

来自分类Dev

如何获得一系列整数但排除某些数字?

来自分类Dev

查找与一系列值匹配的行

来自分类Dev

MATLAB查找一系列图像的像素中值

来自分类Dev

查找一系列JavaScript日期中的最早的

来自分类Dev

在一系列数字中查找当前步骤

来自分类Dev

如何对一系列元素进行外键查找?

来自分类Dev

逻辑帮助-按升序查找一系列元素

来自分类Dev

Excel;使用if语句查找一系列值的中值

来自分类Dev

在 Postgresql 中生成两个日期之间的一系列时间范围(重复时间段)

来自分类Dev

简化一系列 IF THEN

来自分类Dev

matplotlib汇总像素内一系列的多个点

来自分类Dev

matplotlib汇总像素内一系列的多个点

来自分类Dev

在一系列字段内搜索 MongoDB

来自分类Dev

如何查找和删除一系列单元格中的重复值,同时在 Google 表格中保留重复值的第一次出现?

来自分类Dev

如何获得每列B最频繁重复的列A

Related 相关文章

  1. 1

    查找一系列范围内最频繁重复的整数

  2. 2

    Google表格返回基于值的范围内的一系列连接值

  3. 3

    在bash脚本中的特定范围内创建一系列不同的随机数

  4. 4

    生成值的数据框,该值在一系列范围内

  5. 5

    搜索特定列中的一系列数字并隐藏不在该范围内的行

  6. 6

    VBA Excel 选择命名范围内的一系列单元格

  7. 7

    如何在一系列特定的恒定宽度列范围内计算平均值?

  8. 8

    如何复制一系列公式值并将其粘贴到另一张工作表中的特定范围内?

  9. 9

    从SQL / Oracle中的一系列数字中查找范围

  10. 10

    一系列单元格的重复值

  11. 11

    重塑R中的一系列重复数据

  12. 12

    使用循环提取一系列整数

  13. 13

    找出一系列整数中跳过的值

  14. 14

    如何在一系列整数中除以a?

  15. 15

    如何获得一系列整数但排除某些数字?

  16. 16

    查找与一系列值匹配的行

  17. 17

    MATLAB查找一系列图像的像素中值

  18. 18

    查找一系列JavaScript日期中的最早的

  19. 19

    在一系列数字中查找当前步骤

  20. 20

    如何对一系列元素进行外键查找?

  21. 21

    逻辑帮助-按升序查找一系列元素

  22. 22

    Excel;使用if语句查找一系列值的中值

  23. 23

    在 Postgresql 中生成两个日期之间的一系列时间范围(重复时间段)

  24. 24

    简化一系列 IF THEN

  25. 25

    matplotlib汇总像素内一系列的多个点

  26. 26

    matplotlib汇总像素内一系列的多个点

  27. 27

    在一系列字段内搜索 MongoDB

  28. 28

    如何查找和删除一系列单元格中的重复值,同时在 Google 表格中保留重复值的第一次出现?

  29. 29

    如何获得每列B最频繁重复的列A

热门标签

归档