美文网首页
【LeetCode】三角形的最大周长

【LeetCode】三角形的最大周长

作者: MyyyZzz | 来源:发表于2019-03-31 15:58 被阅读0次

题目描述:

给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。

如果不能形成任何面积不为零的三角形,返回 0。

示例 1:
输入:[2,1,2]
输出:5

解题思路:

三个越接近的数形成三角形的可能性越大。所以先将A从大到小排序,找出最大的能形成三角形的三个数即可。

代码:

class Solution {
public:
    int largestPerimeter(vector<int>& A) {
        int sum = 0;
        sort(A.begin(), A.end(), greater<int>());
        for(size_t i=0; i<A.size()-2; i++)
        {
            if(A[i+1] + A[i+2] > A[i])
            {
                sum = A[i+1] + A[i+2] + A[i];
                break;
            }   
            else
                continue;
        }
        return sum;
    }
};

相关文章

网友评论

      本文标题:【LeetCode】三角形的最大周长

      本文链接:https://www.haomeiwen.com/subject/fqhubqtx.html