chen971130 发表于 2020-3-30 22:08:36

本帖最后由 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:22:03

本帖最后由 永恒的蓝色梦想 于 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)))

山岂乎不在高 发表于 2020-3-31 12:35:56

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()

zltzlt 发表于 2020-3-31 17:21:21

TJBEST 发表于 2020-3-29 17:54
不知道对不对,有点麻烦,可能会有错误,需要楼主检验,我自己测的暂时没问题。

552 ms

zltzlt 发表于 2020-3-31 17:21:56

BngThea 发表于 2020-3-29 18:08


136 ms

zltzlt 发表于 2020-3-31 17:22:09

kinkon 发表于 2020-3-29 18:16


form ?

zltzlt 发表于 2020-3-31 17:23:01

March2615 发表于 2020-3-29 18:45
写个最笨的,等大佬有好的思路

2824 ms

zltzlt 发表于 2020-3-31 17:26:06

塔利班 发表于 2020-3-29 19:02


768 ms

zltzlt 发表于 2020-3-31 17:26:29

mdphd 发表于 2020-3-29 19:34


624 ms

zltzlt 发表于 2020-3-31 17:32:28

ouyunfu 发表于 2020-3-29 19:41
一行代码

1192 ms

zltzlt 发表于 2020-3-31 17:32:50

whosyourdaddy 发表于 2020-3-29 23:15
from itertools import combinations as p
def func362(points):
    s = 0


188 ms

zltzlt 发表于 2020-3-31 17:34:46

旅途Z 发表于 2020-3-30 09:59
def calc_area(array, index):
    a = array]
    b = array]


输入示例中的数据出错

zltzlt 发表于 2020-3-31 17:35:46

Joy187 发表于 2020-3-30 10:48
def cals(points):
   max=-1
   for i in points :


解答错误

输入:[, , ]
输出:0
预期结果:0.5

zltzlt 发表于 2020-3-31 17:37:34

l0stparadise 发表于 2020-3-30 13:47


输入 [[-35, 19], , , , , , , [-19, 42], , ] 出错

zltzlt 发表于 2020-3-31 17:38:39

蒋博文 发表于 2020-3-30 16:42


解答错误

输入:[, , , ]
输出:13.5
预期结果:15

zltzlt 发表于 2020-3-31 17:39:31

chen971130 发表于 2020-3-30 22:08
简单粗暴但是有效

196 ms

zltzlt 发表于 2020-3-31 17:39:57

永恒的蓝色梦想 发表于 2020-3-31 09:22


164 ms

zltzlt 发表于 2020-3-31 17:42:34

山岂乎不在高 发表于 2020-3-31 12:35
def s(a,b,c):    #求三角形面积
    x1,y1=a,a
    x2,y2=b,b


212 ms

旅途Z 发表于 2020-3-31 17:48:07

zltzlt 发表于 2020-3-31 17:34
输入示例中的数据出错

已修改,我测试的时候把输入列表转变成了数组,忘了在函数里把list变成数组了TAT

zltzlt 发表于 2020-3-31 17:50:44

旅途Z 发表于 2020-3-31 17:48
已修改,我测试的时候把输入列表转变成了数组,忘了在函数里把list变成数组了TAT

OK,3516 ms
页: 1 [2] 3
查看完整版本: Python:每日一题 362