976. Largest Perimeter Triangle
题目简介
这是道简单,题目给我们一个数组 nums
,数组元素代表线段的长度,题目要求我们从中找出三条边组成三角形,并且要求返回组成三角形中边长最长的三角形的边长,如果不能组成三角形则返回 0
解题思路
三角形能组成的条件是两边之和要大于第三边
为了减少计算量,我们可以先对数组 nums
进行降序排序
接下来,我们只需要找连续的三个长度是否符合三角形组成条件即可
Javascript
/**
* @param {number[]} nums
* @return {number}
*/
var largestPerimeter = function (nums) {
const sortedNums = nums.toSorted((a, b) => b - a)
for (let i = 0; i < sortedNums.length - 2; i++) {
if(sortedNums[i] < sortedNums[i + 1] + sortedNums[i+2]) {
return sortedNums[i] + sortedNums[i + 1] + sortedNums[i+2]
}
}
return 0
};