Largest Perimeter Triangle
Input: [2,1,2]
Output: 5Input: [1,2,1]
Output: 0Input: [3,2,3,4]
Output: 10Input: [3,6,2,3]
Output: 8Input: [2,1,2]
Output: 5Input: [1,2,1]
Output: 0Input: [3,2,3,4]
Output: 10Input: [3,6,2,3]
Output: 8class Solution {
public int largestPerimeter(int[] A) {
// 由大到小排序
Arrays.sort(A);
for (int i = A.length - 1; i >= 2; --i) {
if (isValid(A[i], A[i - 1], A[i - 2])) return A[i] + A[i - 1] + A[i - 2];
}
return 0;
}
// 输入保证 a >= b && a >= c
private boolean isValid(int a, int b, int c) {
return b + c > a;
}
}