[Swift Weekly Contest 118]LeetCode976. 三角形的最大周長 | Largest Perimeter Triangle
阿新 • • 發佈:2019-01-13
Given an array A
of positive lengths, return the largest perimeter of a triangle with non-zero area, formed from 3 of these lengths.
If it is impossible to form any triangle of non-zero area, return 0
.
Example 1:
Input: [2,1,2]
Output: 5
Example 2:
Input: [1,2,1]
Output: 0
Example 3:
Input: [3,2,3,4]
Output: 10
Example 4:
Input: [3,6,2,3]
Output: 8
Note:
3 <= A.length <= 10000
1 <= A[i] <= 10^6
給定由一些正數(代表長度)組成的陣列 A
,返回由其中三個長度組成的、面積不為零的三角形的最大周長。
如果不能形成任何面積不為零的三角形,返回 0
。
示例 1:
輸入:[2,1,2] 輸出:5
示例 2:
輸入:[1,2,1] 輸出:0
示例 3:
輸入:[3,2,3,4] 輸出:10
示例 4:
輸入:[3,6,2,3] 輸出:8
提示:
3 <= A.length <= 10000
1 <= A[i] <= 10^6
324ms
1 class Solution { 2 func largestPerimeter(_ A: [Int]) -> Int {3 var A = A.sorted(by:<) 4 var n = A.count 5 for i in stride(from:n-3,through:0,by:-1) 6 { 7 if A[i] + A[i+1] > A[i+2] 8 { 9 return A[i] + A[i+1] + A[i+2] 10 } 11 } 12 return 0 13 } 14 }