使用Python查找最大周长三角形的程序
假设我们有一个长度为正的数组nums,我们必须通过从该数组中获取三个值来找到三角形的最大周长。当不可能形成任何非零面积的三角形时,则返回0。
因此,如果输入类似于[8,3,6,4,2,5],那么输出将是19。
为了解决这个问题,我们将按照以下步骤操作-
对列表编号进行排序
a:=从nums中删除最后一个元素
b:=从nums中删除最后一个元素
c:=从nums中删除最后一个元素
而b+c<=a,做
返回0
如果不是nums非零,则
a:=b
b:=c
c:=从nums中删除最后一个元素
返回a+b+c
让我们看看以下实现以获得更好的理解-
示例
def solve(nums): nums.sort() a, b, c = nums.pop(), nums.pop(), nums.pop() while b+c<=a: if not nums: return 0 a, b, c = b, c, nums.pop() return a+b+c nums = [8,3,6,4,2,5] print(solve(nums))
输入
[8,3,6,4,2,5]输出结果
19