963.leetcode题目讲解(Python):最小面积矩形 II(Minimum Area Rectangle II)

题目

题目

解题思路

  1. 找出所有的矩形
  2. 逐一计算面积,找出面积最小的矩形
矩形判断

对于步骤1,判断是否为矩形的条件是:其对角线相交的中心点到四个角的距离相等。如下图所示:

这里有个小技巧,为了对 list 中的点进行向量计算,我们使用 complex() 函数将这些点变为复数形式。complex用法示例如下:

忘了向量运算的,可以稍微复习一下:

向量加法:A(x1, y1) + B (x2, y2) = (x1 + x2, y1 + y2)
向量减法:A(x1, y1) – B (x2, y2) = (x1 – x2, y1 – y2)

参考代码(beats 95%):