使用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