三角形的最大周长(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博客,都是三数之和相关的问题。

相关推荐
June`7 分钟前
专题三:穷举vs暴搜vs深搜vs回溯vs剪枝(全排列)决策树与递归实现详解
c++·算法·深度优先·剪枝
vlln13 分钟前
适应性神经树:当深度学习遇上决策树的“生长法则”
人工智能·深度学习·算法·决策树·机器学习
与己斗其乐无穷1 小时前
数据结构(2)线性表-顺序表
数据结构
冲帕Chompa1 小时前
图论part09dijkstra算法
算法·图论
·云扬·1 小时前
【PmHub后端篇】PmHub中基于Redis加Lua脚本的计数器算法限流实现
redis·算法·lua
周Echo周1 小时前
20、map和set、unordered_map、un_ordered_set的复现
c语言·开发语言·数据结构·c++·算法·leetcode·list
zkmall1 小时前
推荐算法工程化:ZKmall模板商城的B2C 商城的用户分层推荐策略
算法·机器学习·推荐算法
小青龙emmm2 小时前
数据结构(一) 绪论
数据结构
矿渣渣2 小时前
AFFS2 的 `yaffs_ext_tags` 数据结构详解
数据结构·算法·文件系统·yaffs2
workflower2 小时前
使用谱聚类将相似度矩阵分为2类
人工智能·深度学习·算法·机器学习·设计模式·软件工程·软件需求