समस्या
हमें एक JavaScript फ़ंक्शन लिखना है जो बाइनरी सरणी (केवल 0 और 1 वाली सरणी) arr को एकमात्र आर्ग्युमेंट के रूप में लेता है। यदि हम अधिकतम एक 0 को फ्लिप कर सकते हैं तो फ़ंक्शन को इस सरणी में लगातार 1 की अधिकतम संख्या ढूंढनी चाहिए।
उदाहरण
यदि फ़ंक्शन का इनपुट है:
const arr = [1, 0, 1, 1, 0];
तो आउटपुट होना चाहिए:
const output = 4;
आउटपुट व्याख्या
यदि हम सरणी में इंडेक्स 1 पर 0 को फ्लिप करते हैं, तो हमें 4 लगातार 1 मिलेंगे।
कोड
const arr = [1, 0, 1, 1, 0]; const findMaximumOne = (nums = []) => { let count = 0; let first = -1; let i =0, j = 0; let res = -Infinity; while(j < nums.length){ if(nums[j] === 1){ res = Math.max(res, j-i+1); }else{ count++; if(count==2){ i = first + 1; count--; }; first = j; }; j++; }; return res; }; console.log(findMaximumOne(arr));आउटपुट
कंसोल में आउटपुट होगा:
4