用 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP