Задача: Треугольник наибольшей площади
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