每日一题-976. 三角形的最大周长

2022-06-02  本文已影响0人  程序员小2

给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0。

示例 1:

输入:nums = [2,1,2]
输出:5
示例 2:

输入:nums = [1,2,1]
输出:0

提示:

3 <= nums.length <= 10^4
1 <= nums[i] <= 10^6

java代码:

class Solution {
    public int largestPerimeter(int[] nums) {
        int sum = 0;
        if (nums.length < 3) {
            return 0;
        }

        Arrays.sort(nums);

        int i = nums.length - 1;
        int j = nums.length - 2;
        int k = nums.length - 3;

        for (; k >= 0; k--) {
            if (nums[k] + nums[j] > nums[i]) {
                return nums[k] + nums[j] + nums[i];
            }

            i = j;
            j = k;
        }

        return 0;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读