我有数字段。例如:
segmetns = [[10,25],[75,270],[11,32],[50,111]]
我的任务是计算没有被线段占据的点数。
在当前情况下32-50没有分段。
我想用字典来实现它。取段上的最小值和最大值(这很容易获得),如果键值在范围内,则替换字典中的值。但是我将不得不遍历每个部分的整个长度。由于细分可能大于1 * 10 ^ 12,因此无法及时获利。
也许可以在不更改键范围的情况下替换键范围。
答案 0 :(得分:0)
看一下关于SO的讨论: python union of multiple ranges
此问题讨论有关查找重叠间隔的并集的问题。您的问题基本相同。找到重叠间隔的并集后,就可以轻松计算出范围内未覆盖的间隔。