【JAVA练习】力扣976.三角形的最大周长

题目:

解题思路:

三边构成三角形的条件:任意两边之和大于第三边。

在排序后数组,

  • 若当前最大两边之和大于第三边,则次三边构成最大周长;
  • 若当前最大两边之和小于第三边,则再无更大组合大于第三边,降序再判断;

先对数组升序排序,倒序遍历,满足条件即找到最大三遍。

java 复制代码
class Solution {
    public int largestPerimeter(int[] nums) {
        if (nums == null || nums.length < 3) {
            return 0;
        }
        Arrays.sort(nums);
        for (int i = nums.length - 1; i >= 2; i--) {
            if (nums[i - 1] + nums[i - 2] > nums[i]) {
                return nums[i -1] + nums[i - 2] + nums[i];
            }
        }
        return 0;
    }
}
相关推荐
毛小茛几秒前
芋道管理系统学习——项目结构
java·学习
范纹杉想快点毕业15 分钟前
嵌入式通信核心架构:从状态机、环形队列到多协议融合
linux·运维·c语言·算法·设计模式
东北小狐狸-Hellxz17 分钟前
解决java客户端连接ssh失败问题
java·网络·ssh
悟能不能悟17 分钟前
HttpServletRequest request获取整个headers有什么方法
java
__万波__18 分钟前
二十三种设计模式(二十)--解释器模式
java·设计模式·解释器模式
智源研究院官方账号29 分钟前
众智FlagOS 1.6发布,以统一架构推动AI硬件、软件技术生态创新发展
数据库·人工智能·算法·架构·编辑器·硬件工程·开源软件
网安_秋刀鱼30 分钟前
【java安全】反序列化 - CC1链
java·c语言·安全
零度@32 分钟前
Java消息中间件-Kafka全解(2026精简版)
java·kafka·c#·linq
钱多多_qdd33 分钟前
springboot注解(二)
java·spring boot·后端