在JavaScript中找到二进制数组中连续1的最大数目

我们需要编写一个JavaScript函数,该函数将二进制数组(仅包含0或1的数组)作为唯一参数。

函数应该找到仅由1组成的数组的连续子数组的长度,然后将其返回。

例如-

如果输入数组是-

const arr = [1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1];

那么输出应该是-

const output = 4;

我们将使用滑动窗口算法来捕获仅由1组成的最大窗口(大小最大)。

示例

为此的代码将是-

const arr = [1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1];

const findMaxConsecutiveOnes = (arr = []) => {

   let left = 0;

   let right = 0;

   let max = 0;

   while (right < arr.length) {

      if (arr[right] === 0) {

         if (right - left > max) {

            max = right - left

         };

         right++;

         left = right;

      } else {

         right++

      };

   };

   return right - left > max ? right - left : max;

}

console.log(findMaxConsecutiveOnes(arr));

输出结果

控制台中的输出将是-

4

以上是 在JavaScript中找到二进制数组中连续1的最大数目 的全部内容, 来源链接: utcz.com/z/314163.html

回到顶部