Задача: Треугольник наибольшей площади

Задача: Треугольник наибольшей площади

https://t.me/pythonl

Условие: дается массив точек на плоскости X-Y, где точки [i] = [xi, yi], верните площадь самого большого треугольника, который может быть образован любыми тремя различными точками. Будут приняты ответы в пределах 10-5 от фактического ответа.


Пример:


Ввод: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]

Вывод: 2.00000

Объяснение:


Ввод: points = [[1,0],[0,0],[0,1]]

Вывод: 0.50000


Решение:

Python

class Solution:
    def largestTriangleArea(self, points: List[List[int]]) -> float:
        res = 0
        for i in range(len(points)):
            x1, y1 = points[i]
            for j in range(i+1, len(points)):
                x2, y2 = points[j]
                for k in range(j+1, len(points)):
                    x3, y3 = points[k]
                    res = max(res, abs(x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2))/2)
        return res






Report Page