给定由一些正数(代表长度)组成的数组 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)
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。