हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो एक बाइनरी सरणी (एक सरणी जिसमें केवल 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