题目浅析

  • 想查看原题可以点击题目链接

  • 简单地说,就是给一个二维坐标系和一堆矩形的左下角和右上角坐标,现在求一个最大的正方形面积,这个正方形必须在两个矩形的交集区域。

思路分享

代码解答(强烈建议自行解答后再看)

  • 参考题解
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution:
def largestSquareArea(self, bottomLeft: List[List[int]], topRight: List[List[int]]) -> int:
max_side = 0
for i, ((lx, ly), (rx, ry)) in enumerate(zip(bottomLeft, topRight)):
for j in range(i):
lx2, ly2 = bottomLeft[j]
rx2, ry2 = topRight[j]

width = min(rx, rx2) - max(lx, lx2)
height = min(ry, ry2) - max(ly, ly2)

side = min(width, height)
max_side = max(max_side, side)

return max_side**2