【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;
    }
}
相关推荐
J2虾虾2 分钟前
Java Lambda 表达式详解文档
java·开发语言
longxibo7 分钟前
【第1章 环境搭建与项目结构解析】
java·后端·流程图
a***72898 分钟前
Java进阶(ElasticSearch的安装与使用)
java·elasticsearch·jenkins
Java成神之路-13 分钟前
面试题:Spring AOP底层实现原理
java·spring aop
Python私教15 分钟前
如意Agent日志系统重构:从 print() 大海捞针到结构化可观测性栈
java·前端·重构
jieyucx20 分钟前
Go 零基础数据结构:顺序表(像「排抽屉」一样学增删改查)
java·数据结构·golang
曦夜日长21 分钟前
C++ STL容器string(一):string的变量细节、默认函数的认识以及常用接口的使用
java·开发语言·c++
想唱rap27 分钟前
应用层协议与序列化
linux·运维·服务器·网络·数据结构·c++·算法
北山有鸟28 分钟前
IS_ERR 判断出错后,再用 PTR_ERR 把它强制转换回 int 型的错误码作为函数的返回值。
java·开发语言
重生之我是Java开发战士32 分钟前
【笔试强训】Week3:重排字符串,分组,DNA序列
算法