976. 三角形的最大周长

100 阅读1分钟

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

示例 1:

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

示例 2:

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

题解:

/**
 * @param {number[]} nums
 * @return {number}
 */
var largestPerimeter = function (nums) {
    // 递增排序
    nums.sort((a, b) => a - b)
    for (let i = nums.length - 1; i >= 2; i--) {
        // 判断是否满足三角形最基础条件 a + b > c => 最小的两条边相加是否大于最大的边
        // 如果满足三角形,a + b + c = 最大周长
        if (nums[i - 1] + nums[i - 2] > nums[i]) {
            return nums[i - 1] + nums[i - 2] + nums[i]
        }
    }
    return 0
};

来源:力扣(LeetCode)

链接:leetcode.cn/problems/la…

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。