-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLargest Triangle Area.py
35 lines (27 loc) · 1.02 KB
/
Largest Triangle Area.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
'''
You have a list of points in the plane. Return the area of the largest triangle that can be formed by any 3 of the points.
Example:
Input: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]
Output: 2
Explanation:
The five points are show in the figure below. The red triangle is the largest.
Notes:
3 <= points.length <= 50.
No points will be duplicated.
-50 <= points[i][j] <= 50.
Answers within 10^-6 of the true value will be accepted as correct.
'''
class Solution(object):
def largestTriangleArea(self, points):
"""
:type points: List[List[int]]
:rtype: float
"""
res = 0
for i in xrange(len(points)):
for j in xrange(i+1, len(points)):
for k in xrange(j+1, len(points)):
res = max(res, self.getArea(points[i][0], points[i][1], points[j][0], points[j][1], points[k][0], points[k][1]))
return res
def getArea(self, x1, y1, x2, y2, x3, y3):
return abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) / 2.0