|
|
发表于 2020-3-29 18:45:23
|
显示全部楼层
- from math import sqrt, pow
- # S = sqrt(p(p-a)(p-b)(p-c)) when p = (a + b + c) / 2
- def daily362(points: list) -> int:
- area = []
- for i in range(len(points)):
- for j in range(len(points)):
- for k in range(len(points)):
- if i != j != k:
- a = get_Length(points[i], points[j])
- b = get_Length(points[j], points[k])
- c = get_Length(points[k], points[i])
- if is_Triangle([a, b, c]):
- area.append(get_Area([a, b, c]))
- area.sort()
- return area[-1]
- def get_Length(p1: list, p2: list) -> float:
- return sqrt(pow(p2[1]-p1[1], 2) + pow(p2[0]-p1[0], 2))
- def is_Triangle(l: list) -> bool:
- l.sort()
- if l[0] + l[1] > l[2]:
- return True
- return False
- def get_Area(l: list) -> float:
- p = (l[0] + l[1] + l[2]) / 2
- return sqrt(p * (p-l[0])* (p-l[1])* (p-l[2]))
复制代码
写个最笨的,等大佬有好的思路 |
评分
-
查看全部评分
|