题目:三角形的最大周长

先将数组进行排序,之后从后往前进行遍历,每次判断上一个元素与上上个元素之和是否大于当前元素(三角形两边之和大于第三边)

如果条件满足,直接计算周长并返回;否则,进入下一次循环

largestPerimeter()

 1int largestPerimeter(vector<int>& nums)
 2{
 3    std::sort(nums.begin(), nums.end());
 4    int res = 1;
 5    for(int i = nums.size() - 1; 2 <= i; --i)
 6    {
 7        if(nums[i - 1] + nums[i - 2] > nums[i])
 8            return nums[i] + nums[i - 1] + nums[i - 2];
 9        else
10            continue;
11    }
12    return 0;
13}

来源:语雀原笔记