本帖最后由 chen971130 于 2020-3-30 22:09 编辑
list0 = [,,,,]
# 在list0中找出所有可能的组合,存储在list_all列表中
list_all = []
for i in range(len(list0)-1):
list1 = list0
for j in range(len(list1)-1):
list2 = list1
for k in list2:
list_arr = , list1, k]
list_all.append(list_arr)
# 面积s = ((x1-x0)*(y2-y0)-(x2-x0)*(y1-y0))/2,存储在list_com中然后输出其中最大值
list_com = []
for i in list_all:
x0,x1,x2,y0,y1,y2 = i,i,i,i,i,i
s = abs(((x1-x0)*(y2-y0)-(x2-x0)*(y1-y0))/2)
list_com.append(s)
print(max(list_com))
简单粗暴但是有效
本帖最后由 永恒的蓝色梦想 于 2020-3-31 09:31 编辑
from itertools import combinations as comb
def getTriArea(a,b,c):
return abs(
a*(b-c)# x1y2-x1y3
+b*(c-a) # +x2y3-x2y1
+c*(a-b) # +x3y1-x3y2
)/2 #*(1/2)
class Solution:
def largestTriangleArea(self, points: List]) -> float:
return max((getTriArea(*i) for i in comb(points,3)))
def s(a,b,c): #求三角形面积
x1,y1=a,a
x2,y2=b,b
x3,y3=c,c
s=(1/2)*(x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2)
s=abs(s)
return s
def dd(): #生成数列
import random
list1 =[]
for i in range(3,50):
a= random.randint(-50,51)
b= random.randint(-50,51)
list1.append()
print(list1)
return list1
def res():
sMax=0
li = dd()
for i in range(len(li)-2):
for j in range(i+1,len(li)-1):
for k in range(j+1,len(li)):
a,b,c=li,li,li
sMax=max(sMax,s(a,b,c))
print('max=%.2f'%(sMax))
if __name__ == '__main__':
res()
TJBEST 发表于 2020-3-29 17:54
不知道对不对,有点麻烦,可能会有错误,需要楼主检验,我自己测的暂时没问题。
552 ms
BngThea 发表于 2020-3-29 18:08
136 ms
kinkon 发表于 2020-3-29 18:16
form ?
March2615 发表于 2020-3-29 18:45
写个最笨的,等大佬有好的思路
2824 ms
塔利班 发表于 2020-3-29 19:02
768 ms
mdphd 发表于 2020-3-29 19:34
624 ms
ouyunfu 发表于 2020-3-29 19:41
一行代码
1192 ms
whosyourdaddy 发表于 2020-3-29 23:15
from itertools import combinations as p
def func362(points):
s = 0
188 ms
旅途Z 发表于 2020-3-30 09:59
def calc_area(array, index):
a = array]
b = array]
输入示例中的数据出错
Joy187 发表于 2020-3-30 10:48
def cals(points):
max=-1
for i in points :
解答错误
输入:[, , ]
输出:0
预期结果:0.5
l0stparadise 发表于 2020-3-30 13:47
输入 [[-35, 19], , , , , , , [-19, 42], , ] 出错
蒋博文 发表于 2020-3-30 16:42
解答错误
输入:[, , , ]
输出:13.5
预期结果:15
chen971130 发表于 2020-3-30 22:08
简单粗暴但是有效
196 ms
永恒的蓝色梦想 发表于 2020-3-31 09:22
164 ms
山岂乎不在高 发表于 2020-3-31 12:35
def s(a,b,c): #求三角形面积
x1,y1=a,a
x2,y2=b,b
212 ms
zltzlt 发表于 2020-3-31 17:34
输入示例中的数据出错
已修改,我测试的时候把输入列表转变成了数组,忘了在函数里把list变成数组了TAT
旅途Z 发表于 2020-3-31 17:48
已修改,我测试的时候把输入列表转变成了数组,忘了在函数里把list变成数组了TAT
OK,3516 ms