码迷,mamicode.com
首页 > 其他好文 > 详细

979. 三角形的最大周长

时间:2020-07-26 19:27:49      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:word   letter   orm   ber   判断   col   box   imp   import   

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

如果不能形成任何面积不为零的三角形,返回 0。

示例
输入:[3,6,2,3]
输出:8

代码

var largestPerimeter = function(A{
  if (A.length < 3) {
    return 0
  }
  A.sort((a, b) => a - b)
  for (let i = A.length - 1; i >= 2; i -= 1) {
    if (A[i - 1] + A[i - 2] > A[i]) { // 两个最大的加起来都没大于第三边,其他的就不需要尝试了
      return A[i] + A[i - 1] + A[i - 2]
    }
  }

  return 0
};

构成三角形的充要条件是: 两边之和大于第三边(此时肯定满足两边之差小于第三边)

以更加简单的方式去思考问题,最大那么就是倒序,能成为三角形那么就是判断前三个值是否能构成三角形

979. 三角形的最大周长

标签:word   letter   orm   ber   判断   col   box   imp   import   

原文地址:https://www.cnblogs.com/rencoo/p/13380964.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!