题目内容:
给定一个列表alist,alist由一些正整数(代表长度)组成,返回由alist中的三个长度组成的有效三角形的最大周长。如果所有的长度组合都不能构成有效三角形,则返回 0。
输入格式:
共一行,列表中的元素以空格隔开。
输出格式:
共一行,为一个非负整数,是最大三角形的周长
输入样例:
2 1 2
输出样例:
5
注意:
1.列表元素数可能大于3
2.避免重复使用列表元素
思路一:
a = list(map(int,input().split()))
maxl=0
for i in range(len(a)):
for j in range(i+1,len(a)):
for k in range(j+1,len(a)):
t=sorted([a[i],a[j],a[k]])
if t[0]+t[1]>t[2] and maxl<sum(t):
maxl=sum(t)
print(maxl)
思路二:
参考:https://blog.csdn.net/byakki/article/details/86607927
alist = list(map(int, input().split()))
alist.sort()
while len(alist) >= 3:
a = alist.pop()
if a < alist[-1] + alist[-2]:
print(a + alist[-1] + alist[-2])
break
else:
print(0)