问题描述:
问题分析:
1.求三角形周长(需三个数值满足三角形三边大小关系);
2.求最大周长;
3.综上,可以将所给数组降序(保证当前周长最大)排列后,判断当前三个数值关系(是否满足三角形,因为已排序,故此只需检查最大边是否大于剩余两边之和);
完整代码:
int largestPerimeter(vector<int>& A)
{
int res = 0;
sort(A.begin(), A.end());
for (int i = A.size()-1; i >= 2; i++)
{
if (A[i] < (A[i-1] + A[i-2]))
return (A[i] + A[i-1] + A[i-2]);
}
return 0;
}
运行结果: