三角形的最大周长(976)

976. 三角形的最大周长 - 力扣(LeetCode)

可以一起总结的题目: 三数之和(15)-CSDN博客

官方解法:

cpp 复制代码
class Solution {
public:
    //官方解法
    int largestPerimeter(vector<int>& nums) 
    {
        sort(nums.begin(), nums.end());
        for (int i =  nums.size() - 1; i >= 2; --i) {
            //先排序,因为是求最大的能构成三角形的周长,对于排序数组
            //只需要满足nums[i-2] + nums[i-1] > nums[i],
            //这里面也可能比i-1,i-2小的位置也满足,但是这些周长一定没有nums[i-2] + nums[i-1] + nums[i] 大
            //从大往小找,体现贪心的算法思想。
            if (nums[i-2] + nums[i-1] > nums[i]) {
                return (nums[i-2] + nums[i-1] + nums[i]);
            }
        }

        return 0;
    }
};

总结:

计算的时间复杂度O(NlogN),空间复杂度O(1),算法细节如注释所示有联系的题目 三数之和(15)-CSDN博客,都是三数之和相关的问题。

相关推荐
没书读了26 分钟前
考研复习-数据结构-第八章-排序
数据结构
算法_小学生1 小时前
支持向量机(SVM)完整解析:原理 + 推导 + 核方法 + 实战
算法·机器学习·支持向量机
waveee1232 小时前
学习嵌入式的第三十四天-数据结构-(2025.7.29)数据库
数据结构·数据库·学习
iamlujingtao2 小时前
js多边形算法:获取多边形中心点,且必定在多边形内部
javascript·算法
算法_小学生2 小时前
逻辑回归(Logistic Regression)详解:从原理到实战一站式掌握
算法·机器学习·逻辑回归
DebugKitty3 小时前
C语言14-指针4-二维数组传参、指针数组传参、viod*指针
c语言·开发语言·算法·指针传参·void指针·数组指针传参
qystca3 小时前
MC0241防火墙
算法
jie*3 小时前
小杰数据结构(one day)——心若安,便是晴天;心若乱,便是阴天。
数据结构
伍哥的传说4 小时前
React & Immer 不可变数据结构的处理
前端·数据结构·react.js·proxy·immutable·immer·redux reducers
行然梦实5 小时前
粒子群优化算法(Particle Swarm Optimization, PSO) 求解二维 Rastrigin 函数最小值问题
算法·机器学习·数学建模