合并重叠区间

2023-11-29

目前,我的间隔时间为:

temp_tuple = [[-25, -14], [-21, -16], [-20, -15], [-10, -7], [-8, -5], [-6, -3], [2, 4], [2, 3], [3, 6], [12, 15], [13, 18], [14, 17], [22, 27], [25, 30], [26, 29]]

按下限升序排列。我的任务是合并重叠的间隔,以便结果是:

[-25, -14]
[-10, -3]
[2, 6]
[12, 18]
[22, 30]

我的第一次尝试涉及删除完全在先前间隔内的间隔,例如 [-21, -16] 落在 [-25, -14] 内。但是删除列表中的对象会一直干扰循环条件。我第二次尝试删除不必要的间隔是:

i = 0
j = 1
while i < len(temp_tuples):
    while j < len(temp_tuples):
        if temp_tuples[i][1] > temp_tuples[j][1]:
            del temp_tuples[j]
        j += 1
    i += 1

但这并不会因为某种原因删除所有不必要的间隔。 我应该怎么办?


如果您设置一个新列表,它会更容易处理(如考虑)。您还可以保留原始数据。

temp_tuple.sort(key=lambda interval: interval[0])
merged = [temp_tuple[0]]
for current in temp_tuple:
    previous = merged[-1]
    if current[0] <= previous[1]:
        previous[1] = max(previous[1], current[1])
    else:
        merged.append(current)

如果你现在print(merged)它会输出:

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

合并重叠区间 的相关文章

随机推荐

  • “while”和“for”循环的范围是什么?

    a的范围是什么while and for loop 例如 如果我在循环中声明了一个对象 它的行为是什么以及为什么 在以下示例中 循环的每次迭代都会销毁并重新创建所有变量 除了i 它在循环迭代之间持续存在 并且可用于 for 循环中的条件表达
  • Unity 5执行一段代码后无响应

    我绝对是 Unity 的初学者 我一直在开发一个用户界面 它是一个简单的登录表单 其中我有两个Toggle用于选择性别 即男性或女性 我一直在做的是调用一个方法来检查是否已经选择了男性 当按下另一个开关时 它将删除男性的检查 My Unit
  • 有什么方法可以使 {% extends '...' %} 有条件吗? - 姜戈

    我想在 AJAX 和常规 HTTP 调用之间共享一个模板 唯一的区别是一个模板需要与base htmlhtml 另一个没有 任何想法 其他答案要求您传递额外的上下文变量 但只要可以访问请求对象 就没有必要 extends request i
  • 从左到右显示 ImageView 的动画[重复]

    这个问题在这里已经有答案了 可能的重复 动画 ImageView 宽度而不缩放 我想做的是创建一个动画 其中 ImageView 从左到右显示 剪辑动画 图像不应缩放 我尝试更改scaleType 然后将ScaleAnimation直接应用
  • 堆叠条形图,每个堆叠独立的填充顺序

    我面临着一种行为ggplot2 排序和堆积条形图我无法理解 我读过一些关于它的问题 here here等等 但不幸的是我找不到适合我的解决方案 也许答案很简单 但我看不到 希望这不是一个骗子 我的主要目标是根据排序列 此处称为orderin
  • java数学计算给定半径1.00的圆的坐标

    在我的一项作业中 我被要求编写一个程序来计算半径为 1 0 的圆上的点的 x y 坐标 以 0 1 为增量显示范围从 1 00 到负 1 00 的所有 x 值的 y 值输出 并使用以下命令整齐地显示输出printf 其中所有 x 值都垂直对
  • 如何直接进入函数而不进入参数的中间函数?

    在 Visual Studio 2013 或任何版本 中 我正在调试 C 项目 我希望能够绕过单步执行由于参数传递到感兴趣的函数而被调用的中间函数 我怎样才能绕过进入这些中间函数 不直接感兴趣 并直接进入我感兴趣的函数 例如 假设我有一个函
  • 如何在freemarker中自定义数字格式?

    我正在使用 freemarker 并尝试以这种格式显示数字 3 343 434 00例如 这很容易通过使用来解决 total string currency 假设 总数 是某个数字 但是 当我有负数时 它会像这样显示 343 34 而不是这
  • 比较 R 中的 svd 和 princomp

    我想要得到singular values of a matrix in R获取主成分 然后也使用 princomp x 来比较结果 我知道 princomp 会给出主要成分 Question 如何从 d u 和 v 中获取主成分 解决方案s
  • 使用Python组合所有视频的特征

    假设我有 20 个视频 它们具有相同的场景 尺寸和来自同一台相机 让我们假设这二十个视频中的一个有一个人走过 所有其他视频大多相同 除了微小的自然变化 例如风吹树叶等 我正在寻找一种将所有 20 个视频合并为 1 个视频的好方法 我所说的合
  • 尝试加载使用存储传递的数据

    我正在尝试获取正在传递的数据并将其加载到各种文本字段中 现在 我有一个 html 文件 其中包含以下内容 然后 我有一个 js 文件 其中包含我的整个布局以及所有文本字段等以及我的整个商店 到目前为止 我的商店尝试加载数据 但我不确定尝试从
  • 如何启动 ajax 推送网站(activemq 或 cometd 或其他)?

    我想启动一个使用 ajax 推送的应用程序 但是应该正确配置 Web 服务器 并且我不知道如何在服务器端组件上启动 我想从道场彗星然后读了一些博客说activeMQ是较旧的 也是 ajax 推送方面的旗舰载体 但也有另一个博客说它很难设置并
  • 使用 Provider 和模型类搜索/过滤 ListView

    我想通过在搜索字段中输入的文本来过滤列表视图 在线和本网站上有很多示例 但所有内容都过于简化 所有内容都在一个有状态的小部件中 和 或看起来有点混乱 可能不是构建事物的最佳方式 我有一个简单的应用程序 它使用 Provider 一个模型类
  • 如何在reactjs中显示多个标签?

    我制作了一张添加新用户卡 上面有一个加号 我制作了额外的卡片 在每张卡片上显示用户名 显示用户名的卡片使用以下方式显示 map 方法 现在 如果我将第 1 部分代码 见下文 插入到 map 功能后会显示多个添加新用户卡 我的最终目标是显示单
  • 当您使用内存覆盖前缀但所有操作数都是寄存器时会发生什么?

    当您使用内存覆盖前缀但所有操作数都是寄存器时会发生什么 那么 假设您编写了代码mov eax ebx or add eax ebx默认值为 32 位 但您使用 67h 覆盖 处理器如何处理这种情况 英特尔软件开发人员手册 第 2 卷 第 2
  • 如何在嵌套上下文中通过 __VA_OPT__ 扩展递归宏

    我读过了本文 这说明了如何 VA OPT 函数宏可用于递归扩展宏 我想实现类似的东西 不同之处在于宏是在嵌套上下文中扩展的 输入 NEST RECURSIVE A B C 应该产生 顺序无关 C B A 我的方法稍微概括了这篇文章 defi
  • 我们可以在 Route 53 AWS DNS 服务中创建多少个子域?

    在我的应用程序中 我为每个帐户提供一个子域 如 user domain com 因此 我计划使用 AWS Route 53 将子域路由到我的应用程序 Amazon Route 53 中的子域是否有最大限制 提前致谢 我给出了一个子域 例如u
  • pandas 数据框中的数据透视表

    我有一个要求 我试图计算值并将它们放入数据透视表中 这是我的数据框 Cola Colb Apple Rippened Orange Rippened Apple UnRippened Mango UnRippened 我希望输出是这样的 R
  • 使用谷歌地图 API 从 iPhone 进行反向地理编码纬度/经度

    我目前正在使用谷歌地图的反向地理编码 API 将从 iPhone 的 CoreLocation API 接收到的经 纬度转换为谷歌应用程序引擎服务器上的城市 州信息 这会被视为违反条款吗 我做了一些研究 但找不到这个问题的直接答案 现在 我
  • 合并重叠区间

    目前 我的间隔时间为 temp tuple 25 14 21 16 20 15 10 7 8 5 6 3 2 4 2 3 3 6 12 15 13 18 14 17 22 27 25 30 26 29 按下限升序排列 我的任务是合并重叠的间