跳到主要内容

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;
}