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

相关推荐
Tisfy1 小时前
LeetCode 0085.最大矩形:单调栈
算法·leetcode·题解·单调栈
mit6.8241 小时前
出入度|bfs|状压dp
算法
!停1 小时前
C语言栈和队列的实现
开发语言·数据结构
hweiyu001 小时前
强连通分量算法:Kosaraju算法
算法·深度优先
源代码•宸1 小时前
Golang语法进阶(定时器)
开发语言·经验分享·后端·算法·golang·timer·ticker
mit6.8241 小时前
逆向思维|memo
算法
蓝桉~MLGT1 小时前
中级软考(软件工程师)第三章知识点——数据结构与数据运算
数据结构
机器学习之心1 小时前
MATLAB灰狼优化算法(GWO)改进物理信息神经网络(PINN)光伏功率预测
神经网络·算法·matlab·物理信息神经网络
代码游侠1 小时前
学习笔记——ESP8266 WiFi模块
服务器·c语言·开发语言·数据结构·算法
倦王1 小时前
力扣日刷26110
算法·leetcode·职场和发展