【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;
    }
}
相关推荐
智者知已应修善业3 分钟前
【51单片机2个外部中断显示中断历时,初始化8左移3位共阳数码管】2024-6-6
c++·经验分享·笔记·算法·51单片机
燕-孑15 分钟前
tomcat详解(基础到高级生产)
java·tomcat
码不停蹄的玄黓23 分钟前
Spring Bean 生命周期
java·后端·spring
西安邮电大学36 分钟前
分治算法详细讲解
java·后端·其他·算法·面试
code bean39 分钟前
平衡相关性与多样性:推荐系统中的永恒博弈与 MMR 算法详解
算法
摇滚侠1 小时前
Mybatis 入门到项目实战 搭建 MyBatis 框架 01-14
java·tomcat·mybatis
青梅橘子皮1 小时前
Linux---进程控制(2)(进程程序替换)
linux·c++·算法
Shan12051 小时前
经典问题——验证栈序列
数据结构·算法
2501_906565121 小时前
勾股定理证明
算法
码不停蹄的玄黓1 小时前
SpringBoot 全局异常处理器实现
java·spring boot·后端