LC976 三角形的最大周长

找最大的周长,也就是\(a+b+c\)最大,如果三个数要想构成三角形的话,需要\(a+b>c\)。固定\(c\)端点,使得\(a+b\)尽可能的大,所以排序扫一遍就ok了。
代码如下:

class Solution {
public:
    int largestPerimeter(vector<int>& A) {
        sort(A.begin(), A.end());
        for (int i = A.size() - 1; i > 1; i--) {
            if (A[i - 1] + A[i - 2] > A[i]) return A[i - 1] + A[i - 2] + A[i];
        }
        return 0;
    }
};
posted @ 2020-05-04 20:28  Lee先森的博客  阅读(148)  评论(0编辑  收藏  举报