812. 最大三角形面积

给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积。

示例:
输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]
输出: 2
解释:
这五个点如下图所示。组成的橙色三角形是最大的,面积为2。


注意:

3 <= points.length <= 50.
不存在重复的点。
 -50 <= points[i][j] <= 50.
结果误差值在 10^-6 以内都认为是正确答案。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/largest-triangle-area

class Solution:
    def largestTriangleArea(self, points: List[List[int]]) -> float:
        def area(p, q, r):
            return .5 * abs(p[0]*q[1]+q[0]*r[1]+r[0]*p[1]
                           -p[1]*q[0]-q[1]*r[0]-r[1]*p[0])
        _max=-1
        for tri in itertools.combinations(points, 3):
            _max=max(_max,area(*tri))
        return _max
        

 see more at https://www.cnblogs.com/xxxsans/p/13631587.html

原文地址:https://www.cnblogs.com/xxxsans/p/13631575.html