1. 程式人生 > >力扣(LeetCode)976. 三角形的最大周長

力扣(LeetCode)976. 三角形的最大周長

bubuko inf arrays .so 技術分享 http img 如果 []

給定由一些正數(代表長度)組成的數組 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

思路 先將數組從小到大排序,然後從後往前遍歷相鄰最大的滿足條件的三位數(三角形較小兩邊之和大於第三邊)

Java版

class Solution {
    public int largestPerimeter(int[] A) {
        Arrays.sort(A);
        int max = 0;
        for(int i=A.length-1;i>=2;i--) {
            if(A[i-1]+A[i-2]>A[i]) {
                return A[i-1]+A[i-2]+A[i];
            }
        }
        return 0;
        
        
    }
}

運行結果

技術分享圖片

力扣(LeetCode)976. 三角形的最大周長