使用 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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP