在 JavaScript 中检查是否为递增三元组


递增数字

其中每个连续的元素都大于或等于前一个元素的数字序列是一个递增序列。

例如:

4, 6, 8, 9, 11, 14 is increasing sequence
3, 3, 3, 3, 3, 3, 3 is also an increasing sequence

问题

我们需要编写一个 JavaScript 函数,该函数以数字数组 arr 作为唯一参数。该函数应检查数组中是否连续存在三个递增的元素。

例如,如果函数的输入是 −

const arr = [4, 1, 5, 7, 3, 1, 4];

则输出应为 −

const output = true;

输出说明

因为数组中连续存在 1、5、7,

范例

代码将如下 −

const arr = [4, 1, 5, 7, 3, 1, 4];
const increasingTriplet = function(arr) {
   let first = Infinity;
   let second = Infinity;
   for (let curr of arr) {
      if (curr > second && curr > first) {
         return true;
      };
      if (curr > first) {
         second = curr;
      }else{
         first = curr;
      };
   };
   return false;
};
console.log(increasingTriplet(arr));

代码说明

我们循环中检查的条件是 −

如果存在 i、j、k,使得 arr[i] < arr[j] < arr[k] 并且 0 ≤ i < j < k ≤ n-1,我们返回 true,否则返回 false。

输出

控制台中将输出如下 −

true

更新于:2021 年 3 月 19 日

226 次浏览

启动您的职业生涯

完成课程以获取认证

开始学习
广告
© . All rights reserved.