leetcode976

//这道题目简单分析一下针对一个序列(排序之后)A[0],A[1],...,A[n-1]
//考虑组成的最大边是A[i]考虑枚举   A[k] A[i-1] A[i]的组合一定比 A[p] A[i - j] A[i]的组合大
//因此就形成了一个线性的枚举的算法
class Solution {
public:
    int largestPerimeter(vector<int>& A) {
        
        sort(A.begin() , A.end());
        int Max = 0;
        int len = A.size();
        
        for(int i = len - 1;i >=2 ;i--){
             if(A[i-2] > A[i] - A[i - 1]) 
                  Max = max(Max , A[i - 2] + A[i - 1] + A[i]);
        }
        return Max;
    }
};

 

posted on 2019-09-22 15:29  在苏州的城边  阅读(227)  评论(0编辑  收藏  举报

导航