题解:
class Solution {
public:
int largestPerimeter(vector<int>& A) {
if(A.size() <= 0) {
return 0;
}
sort(A.begin(), A.end());
int max_len = 0;
for(int i = 0; i < A.size() - 2; ++i) {
// 如果不满足两边之和>第三条边
if(A[i] + A[i+1] <= A[i+2]) {
continue;
}
max_len = max(max_len, A[i] + A[i+1] + A[i+2]);
}
return max_len;
}
};