![]() |
1
6
你的清单
(注:我更改了您的格式
输出:
如果
|
![]() |
2
3
通过一点重组,代码就变成了一个经典的间隔树问题。 看看这个包裹 https://pypi.org/project/intervaltree/ 与正常间隔树的唯一区别是,您有一些覆盖多个间隔的项,但是很容易将它们划分为单个间隔,例如16.1:“Start”:15,“End”:20,16.2:“Start”:16,“End”:18 通过使用intervaltree包,创建了一个比嵌套for循环更有效的平衡二叉搜索树。这个解决方案是搜索每个候选对象的O(logn),而for循环是O(n)。如果有1毫米以上的候选者,intervaltree包将比公认的嵌套for循环答案快得多。 |
![]() |
3
0
尽管这个问题有一个公认的答案,但为了其他人的利益,我想补充一点,这种类型的场景确实有理由创建反向查找。这是一个一次性的头痛,将节省大量的实际时间,因为候选人名单增长更长。字典查找是O(1),如果需要执行多个查找,还应考虑创建反向映射。
输出:
|
![]() |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
![]() |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
|
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
![]() |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
|
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
![]() |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |