976.三角形的最大周长
链接:976.三角形的最大周长
难度:Easy
标签:贪心、数组、数学、排序
简介:给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。
题解 1 - typescript
- 编辑时间:2020-11-29
- 执行用时:136ms
- 内存消耗:42.8MB
- 编程语言:typescript
- 解法介绍:贪心,从最长数寻找。
function largestPerimeter(A: number[]): number {
A.sort((a, b) => a - b);
const len = A.length;
const can = (edge1: number, edge2: number, edge3: number): number =>
edge1 + edge2 > edge3 && edge2 + edge3 > edge1 && edge1 + edge3 > edge2
? edge1 + edge2 + edge3
: 0;
for (let i = len - 1; i >= 0; i--) {
const num = can(A[i], A[i - 1], A[i - 2]);
if (num !== 0) return num;
}
return 0;
}