用 Python 编写程序,找出两点之间没有点且最宽的垂直区域

pythonserver side programmingprogramming更新于 2025/11/30 14:04:17

假设,我们有 n 个点作为 (x, y)。垂直区域是沿 y 轴无限延伸的区域。我们必须找出两点之间的垂直区域,使得该区域内没有其他点,并且该区域最宽。

因此,如果输入为 pts = [[10,9],[11,11],[9,6],[11,9]],则输出为 1。

红色和蓝色区域是最佳区域,其中没有任何点。

为了解决这个问题,我们将遵循以下步骤 −

  • 对列表 pts 进行排序

  • 对于 i,范围从 1 到 pts 的大小,执行

    • 返回 (pts[i, 0] - pts[i - 1, 0]) 的最大值

示例

让我们看看下面的实现以便更好地理解

def solve(pts):
   pts.sort()
   return max(pts[i][0] - pts[i - 1][0] for i in range(1, len(pts)))
print(solve([[10,9],[11,11],[9,6],[11,9]]))

输入

[[10,9],[11,11],[9,6],[11,9]]

输出

1

相关文章


有用资源