三个严格增加的数字(连续或非连续)。在JavaScript数组中

假设我们有一个这样的数字数组-

const arr = [4, 7, 4, 8, 9, 3];

我们需要编写一个JavaScript函数,该函数接受一个这样的数字数组。函数应从数组中搜索其索引及其大小严格按升序(连续或非连续)的这三个数字。

例如,在上面的数组中,数字7、8和9的索引分别为1、3和4。这些数字都满足两个条件,因此我们的函数应对此数组返回true。

示例

为此的代码将是-

const arr = [4, 7, 4, 8, 9, 3];
const findMatch = (arr) => {
   let stack = [];
   let s3 = −Infinity
   for (let i = arr.length − 1; i >= 0; i−−) {
      if (arr[i] < s3) return true
      while (stack.length > 0 && stack[stack.length − 1] < arr[i]) {
         s3 = stack.pop()
      };
      stack.push(arr[i])
   };
   return false
};
console.log(findMatch(arr));

输出结果

控制台中的输出将是-

false