Leetcode 963.Minimum Area Rectangle II

**Python:**
def minAreaFreeRect(self, points):
    points = [complex(*z) for z in sorted(points)]
    seen = collections.defaultdict(list)
    for P, Q in itertools.combinations(points, 2):
        seen[Q - P].append((P + Q) / 2)

    ans = float("inf")
    for A, candidates in seen.iteritems():
        for P, Q in itertools.combinations(candidates, 2):
            if A.real * (P - Q).real == -A.imag * (P - Q).imag:
                ans = min(ans, abs(A) * abs(P - Q))
    return ans if ans < float("inf") else 0
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容