812. Largest Triangle Area
Easy
Given an array of points on the X-Y plane points where points[i] = [xi, yi], return the area of the largest triangle that can be formed by any three different points. Answers within 10-5 of the actual answer will be accepted.
Example 1:
Input: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]
Output: 2.00000
Explanation: The five points are shown in the above figure. The red triangle is the largest.
Example 2:
Constraints:
- 3 <= points.length <= 50
- -50 <= xi, yi <= 50
- All the given points are unique.
Solution
class Solution:
def largestTriangleArea(self, points: List[List[int]]) -> float:
res = 0
n = len(points)
for i in range(n):
for j in range(i+1, n):
for k in range(j+1, n):
ax,ay = points[i]
bx,by = points[j]
cx,cy = points[k]
res = max(res, 0.5 * abs(ax*(by - cy) + bx*(cy-ay) + cx*(ay-by)))
return res