976. Треугольник с наибольшим периметром | решение на Java и JavaScript

Постановка задачи

Получив массив целых чисел nums, верните наибольший периметр треугольника с ненулевой площадью, образованный из трех таких длин. Если невозможно составить какой-либо треугольник ненулевой площади, вернуть 0.

Пример 1:

Input: nums = [2,1,2]
Output: 5

Пример 2:

Input: nums = [1,2,1]
Output: 0

Ограничения:

  • 3 <= nums.length <= 104
  • 1 <= nums[i] <= 106

Решение:

Ява

class Solution {
    public int largestPerimeter(int[] nums) {
        Arrays.sort(nums);
        
        for(int i=nums.length-1;i>1;i--){
            if(nums[i]<nums[i-1]+nums[i-2]){
                return nums[i]+nums[i-1]+nums[i-2];
            }
        }
        return 0;
    }
}

JS

/**
 * @param {number[]} nums
 * @return {number}
 */
var largestPerimeter = function(nums) {
    
    nums.sort((a,b)=>a-b);
    console.log(nums);
    console.log(nums.length);
    for(let i=nums.length-1;i>1;i--){
        if(nums[i]<nums[i-1]+nums[i-2]){
            return nums[i]+nums[i-1]+nums[i-2];
        }
    }
    return 0;
    
};

Удачного кодирования 💻