Python中最大的周长三角形

假设我们有一个正长度的数组A,我们必须找到面积为非零的三角形的最大周长,该三角形由这些长度中的3个组成。当不可能形成任何非零区域的三角形时,则返回0。

因此,如果输入类似于[3,6,2,3],则输出将为8。

为了解决这个问题,我们将遵循以下步骤-

  • 排序列表A

  • a:=从A删除最后一个元素

  • b:=从A删除最后一个元素

  • c:=从A删除最后一个元素

  • 当b + c <= a时

    • 返回0

    • 如果不是A不为零,则

    • a:= b

    • b:= c

    • c:=从A删除最后一个元素

    • 返回a + b + c

    让我们看下面的实现以更好地理解-

    示例

    class Solution:
       def largestPerimeter(self, A):
          A.sort()
          a, b, c = A.pop(), A.pop(), A.pop()
          while b+c<=a:
             if not A:
                return 0
                a, b, c = b, c, A.pop()
       return a+b+c
    ob = Solution()print(ob.largestPerimeter([3,6,2,3]))

    输入项

    [3,6,2,3]

    输出结果

    8