【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;
    }
}
相关推荐
zhougl99612 分钟前
Apache HttpClient 5 用法-Java调用http服务
java·http·apache
spjhandsomeman16 分钟前
各个历史版本mysql/tomcat/Redis/Jdk/Apache/gitlab下载地址
java·redis·mysql·jdk·tomcat·gitlab
JeffersonZU16 分钟前
【数据结构】1-4算法的空间复杂度
c语言·数据结构·算法
L_cl21 分钟前
【Python 算法零基础 4.排序 ① 选择排序】
数据结构·算法·排序算法
未来影子23 分钟前
面试中的线程题
java·数据库·面试
为美好的生活献上中指24 分钟前
java每日精进 5.18【文件存储】
java·开发语言·minio·七牛云存储·s3·七牛云
不再幻想,脚踏实地31 分钟前
Spring AOP从0到1
java·后端·spring
编程乐学(Arfan开发工程师)33 分钟前
07、基础入门-SpringBoot-自动配置特性
java·spring boot·后端
会敲键盘的猕猴桃很大胆1 小时前
Day11-苍穹外卖(数据统计篇)
java·spring boot·后端·spring·信息可视化
purrrew1 小时前
【Java ee初阶】jvm(2)
java·jvm·java-ee