代码改变世界

976. 三角形的最大周长

2020-11-29 22:50  woshihuangrulin  阅读(175)  评论(0编辑  收藏  举报

首先对数组进行排序,成为一个生叙述组,从尾部开始循环,如果此数前面的两个数的和小于等于此数,构成不了三角形,否则就是周长最大的三角形,代码如下

class Solution {
public:
    int largestPerimeter(vector<int>& A) {
        sort(A.begin(), A.end());
        int max_length = 0;
        for (int i = A.size() - 1; i >= 2; i--) {
            if (A[i - 1] + A[i - 2] > A[i]) {
                max_length = max(max_length, A[i-1] + A[i-2] + A[i]);
            }
        }

        return max_length;
    }

};