LC976 三角形的最大周长

时间:2020-05-04 21:19:43   收藏:0   阅读:81

找最大的周长,也就是\(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;
    }
};

原文:https://www.cnblogs.com/lihanwen/p/12828080.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!