使用Python查找最大周长三角形的程序
假设我们有一个带有正长度的数组 nums,我们必须通过取该数组中的三个值来找到三角形的最大周长。当无法形成任何非零面积的三角形时,返回0。
因此,如果输入是 [8,3,6,4,2,5],则输出将是19。
要解决这个问题,我们将遵循以下步骤 –
- 排序列表 nums
-
a := 删除 nums 的最后一个元素
-
b := 删除 nums 的最后一个元素
-
c := 删除 nums 的最后一个元素
-
当 b+c <= a 时,重复执行以下操作
- 如果 nums 不存在非零元素,则
- 返回 0
- a := b
-
b := c
-
c := 删除 nums 的最后一个元素
- 如果 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