【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;
    }
}
相关推荐
技术小黑8 小时前
CNN算法实战系列08 | ResNeXt-50算法实战与猴痘病识别
人工智能·算法·cnn
云絮.8 小时前
数据库事务
java·开发语言·数据库
格子软件8 小时前
2026年GEO优化系统源码级状态机与多模型调度拆解
java·前端·vue.js·人工智能·vue·geo
Full Stack Developme8 小时前
Java 漏斗算法 及应用场景
java·开发语言·算法
从此以后自律8 小时前
Spring 全家桶
java·后端·spring
偏爱自由 !8 小时前
一(0.1):配置git
java·git·intellij-idea
atunet8 小时前
关于稀疏图结构的高效存储与遍历算法设计的技术7
算法
ysa0510308 小时前
【并查集】判环,深搜
数据结构·c++·算法·深度优先
骑士雄师8 小时前
java面试记录: sychonized 锁,熔断组件,分布式锁
java·开发语言·面试
Jerry9 小时前
LeetCode 704. 二分查找
算法