在 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.