給定由一些正數(代表長度)組成的數組 A,返回由其中三個長度組成的、面積不為零的三角形的最大周長。
如果不能形成任何面積不為零的三角形,返回 0。
示例 1:
輸入:[2,1,2]
輸出:5
示例 2:
輸入:[1,2,1]
輸出:0
代碼
class Solution {public int largestPerimeter(int[] A) {int n=A.length;Arrays.sort(A);//排序for(int i=n-1;i>=0;i--){int l=i-1,r=i-2;if(r<0) return 0;if(A[l]+A[r]<=A[i]) continue;//如果當前情況不滿足,后面更短的兩條邊,也不可能滿足return A[l]+A[r]+A[i];//如果情況滿足,則直接返回}return 0;}
}