【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;
    }
}
相关推荐
镜花水月linyi1 天前
Java 线程创建的完整链路:从 Java 层 → JVM 层 → 操作系统层
java·后端·面试
zfj3211 天前
排查java应用内存溢出的工具和方法
java·开发语言·jvm·内存溢出
jianfeng_zhu1 天前
不带头节点的链式存储实现链栈
数据结构·算法
lightqjx1 天前
【算法】双指针
c++·算法·leetcode·双指针
历程里程碑1 天前
C++ 7vector:动态数组的终极指南
java·c语言·开发语言·数据结构·c++·算法
ss2731 天前
高并发读场景:写时复制容器(Copy-On-Write)
java·开发语言·rpc
mit6.8241 天前
get+二分|数位dp
算法
sin_hielo1 天前
leetcode 2147
数据结构·算法·leetcode
萌>__<新1 天前
力扣打卡每日一题——缺失的第一个正数
数据结构·算法·leetcode
DuHz1 天前
车对车对向交汇场景的毫米波路径损耗建模论文精读
论文阅读·算法·汽车·信息与通信·信号处理