美文网首页
【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