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

更新於:2021 年 5 月 29 日

470 次瀏覽

開始你的 職業

完成課程,獲得認證

開始
廣告
© . All rights reserved.