हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पहले और एकमात्र तर्क के रूप में पूर्णांकों की एक सरणी लेता है।
फ़ंक्शन को अधिकतम उत्पाद खोजना चाहिए जिसे सरणी के किन्हीं दो तत्वों को गुणा करके प्राप्त किया जा सकता है। हमारे लिए शर्त यह है कि हमें इसे रैखिक समय और स्थिर स्थान में करना होगा।
उदाहरण के लिए -
यदि इनपुट ऐरे है -
const arr = [3, 9, 2, 1, 0];
तब आउटपुट होना चाहिए -
const output = 27;
क्योंकि यह सबसे बड़ा उत्पाद है और इसे 3 और 9 से गुणा करके प्राप्त किया जा सकता है।
उदाहरण
निम्नलिखित कोड है -
const arr = [3, 9, 2, 1, 0]; const maxPairProduct = (arr = []) => { let c = Infinity, d = c; let a = -Infinity - 1, b = a; for (const n of arr) { if(n >= a){ b = a; a = n; }else if(n >= b){ b = n; }; if(n <= d){ c = d; d = n; }else if(n <= c){ c = n; }; }; return Math.max(a * b, c * d); }; console.log(maxPairProduct(arr));
आउटपुट
कंसोल आउटपुट निम्नलिखित है -
27