【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;
    }
}
相关推荐
瑞雪兆丰年兮6 分钟前
[从0开始学Java|第十一天]学生管理系统
java·开发语言
看世界的小gui6 分钟前
Jeecgboot通过Maxkey实现单点登录完整方案
java·spring boot·jeecgboot
Arvin6277 分钟前
IntelliJ IDEA:无法读取**.properties
java·intellij-idea
10km11 分钟前
Spring Boot 环境下使用 Map<String, MultipartFile> 实现文件上传功能
java·spring boot·mock·map·multipartfile
Dave.B15 分钟前
vtkPolyDataConnectivityFilter 实用指南
算法·vtk
学到头秃的suhian34 分钟前
Java的锁机制
java
细节处有神明1 小时前
开源数据之历史气象数据的获取与使用
人工智能·python·算法
Amarantine、沐风倩✨1 小时前
一次线上性能事故的处理复盘:从 SQL 到扩容的工程化思路
java·数据库·sql·oracle
tb_first1 小时前
万字超详细苍穹外卖学习笔记1
java·jvm·spring boot·笔记·学习·tomcat·mybatis