鱼C论坛

 找回密码
 立即注册
楼主: zltzlt

[已解决]Python:每日一题 362

[复制链接]
发表于 2020-3-30 22:08:36 | 显示全部楼层
本帖最后由 chen971130 于 2020-3-30 22:09 编辑
list0 = [[0,0],[0,1],[1,0],[0,2],[2,0]]

# 在list0中找出所有可能的组合,存储在list_all列表中
list_all = []
for i in range(len(list0)-1):
    list1 = list0[i+1:]
    for j in range(len(list1)-1):
        list2 = list1[j+1:]
        for k in list2:
            list_arr = [list0[i], list1[j], 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[0][0],i[1][0],i[2][0],i[0][1],i[1][1],i[2][1]
    s = abs(((x1-x0)*(y2-y0)-(x2-x0)*(y1-y0))/2)
    list_com.append(s)

print(max(list_com))

简单粗暴但是有效

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
zltzlt + 5 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.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[0]*(b[1]-c[1])  # x1y2-x1y3
            +b[0]*(c[1]-a[1]) # +x2y3-x2y1
            +c[0]*(a[1]-b[1]) # +x3y1-x3y2
            )/2               #*(1/2)

class Solution:
    def largestTriangleArea(self, points: List[List[int]]) -> float:
        return max((getTriArea(*i) for i in comb(points,3)))

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
zltzlt + 5 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-31 12:35:56 | 显示全部楼层
def s(a,b,c):    #求三角形面积
    x1,y1=a[0],a[1]
    x2,y2=b[0],b[1]
    x3,y3=c[0],c[1]

    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([a,b])
    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[i],li[j],li[k]
                sMax=max(sMax,s(a,b,c))

    print('max=%.2f'%(sMax))

if __name__ == '__main__':
    res()

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
zltzlt + 5 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

552 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 17:21:56 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 17:22:09 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 17:23:01 | 显示全部楼层
March2615 发表于 2020-3-29 18:45
写个最笨的,等大佬有好的思路

2824 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 17:26:06 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 17:26:29 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 17:32:28 | 显示全部楼层

1192 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 17:34:46 | 显示全部楼层
旅途Z 发表于 2020-3-30 09:59
def calc_area(array, index):
    a = array]
    b = array]

输入示例中的数据出错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 17:35:46 | 显示全部楼层
Joy187 发表于 2020-3-30 10:48
def cals(points):
     max=-1
     for i in points :

解答错误

输入:[[1, 0], [0, 0], [0, 1]]
输出:0
预期结果:0.5
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 17:37:34 | 显示全部楼层

输入 [[-35, 19], [40, 19], [27, -20], [35, -3], [44, 20], [22, -21], [35, 33], [-19, 42], [11, 47], [11, 37]] 出错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 17:38:39 | 显示全部楼层

解答错误

输入:[[6, 3], [5, 2], [5, 8], [0, 6]]
输出:13.5
预期结果:15
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 17:39:31 | 显示全部楼层
chen971130 发表于 2020-3-30 22:08
简单粗暴但是有效

196 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 17:39:57 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 17:42:34 | 显示全部楼层
山岂乎不在高 发表于 2020-3-31 12:35
def s(a,b,c):    #求三角形面积
    x1,y1=a[0],a[1]
    x2,y2=b[0],b[1]

212 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-31 17:48:07 | 显示全部楼层
zltzlt 发表于 2020-3-31 17:34
输入示例中的数据出错

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

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
zltzlt + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 17:50:44 | 显示全部楼层
旅途Z 发表于 2020-3-31 17:48
已修改,我测试的时候把输入列表转变成了数组,忘了在函数里把list变成数组了TAT

OK,3516 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 18:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表