Python程式:找出兩點之間最寬且無其他點存在的垂直區域
假設我們得到n個點,表示為(x, y)。垂直區域是指沿y軸無限延伸的區域。我們需要找到兩點之間的垂直區域,該區域內沒有其他點,並且是最寬的。
例如,如果輸入是 pts = [[10,9],[11,11],[9,6],[11,9]],則輸出為1。
紅色和藍色區域是最優的,並且它們內部沒有點。
為了解決這個問題,我們將遵循以下步驟:
對列表pts進行排序
對於範圍從1到pts大小的i,執行:
返回(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
廣告