976. 三角形的最大周长

https://leetcode.cn/problems/largest-perimeter-triangle/description/
三角形两边之和大于第三边

将数组从大到小排序

只要能看到当前数大于两个数加起来,说明可以形成三角形

知识点:

vector从大到小排序 

sort(nums.begin(), nums.end(), greater<int>());
class Solution {
public:
    int largestPerimeter(vector<int>& nums) {
        int n = nums.size();
        sort(nums.begin(), nums.end(), greater<int>());
        int res = 0;
        for (int i = 0; i <= n-3; i++){
            if (nums[i + 1] + nums[i + 2] > nums[i]){
                res = nums[i + 1] + nums[i + 2] + nums[i];
                break;
            }
        }
        return res;
    }
};

 

posted @ 2025-07-12 11:13  最近饭吃的很多  阅读(18)  评论(0)    收藏  举报