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