用 JavaScript 挑选周长最大的三角形边


三角形的周长是三角形所有三条边的和。我们要求编写一个 JavaScript 函数,该函数以至少包含三个或更多元素的数字数组作为输入。

我们的函数应该从数组中挑选三个最长的边(最大数),相加后能从数组中得到最大的周长,我们需要确保挑出的这三条边在现实中能组成一个三角形。如果数组中没有三条能组成有效三角形的边,那么我们必须返回零。

有效三角形是指其中任何两条边的和始终大于第三条边的三角形。

示例

const arr = [1, 2, 3, 5, 6, 7, 9];
const largestPerimeter = (arr = []) => {
   arr.sort((a, b) => a - b);
   let max = 0;
   for (let i = arr.length - 1; i >= 2; i--) {
      let start = i - 2;
      let end = i - 1;
      while (start < end) {
         if (arr[end] + arr[start] > arr[i]) {
            return arr[end] + arr[start] + arr[i];
         }
         else {
            start++;
         };
      };
   };
   return 0;
};
console.log(largestPerimeter(arr));

输出

控制台中的输出将为 -

22

更新日期: 2020-11-23

169 次浏览

开启你的 职业

通过完成课程获得认证

开始
广告