हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पॉजिटिव और नेगेटिव नंबर्स वाले नंबर्स के ऐरे को लेता है और एक ट्रैवर्सल में दो नंबर्स का अधिकतम गुणनफल लौटाता है।
आइए इस फ़ंक्शन के लिए कोड लिखते हैं।
उदाहरण
const arr = [-1, -3, -4, 2, 0, -5];
const arr2 = [2, 3, 5, 7, -7, 5, 8, -5];
const produce = arr => arr.reduce((acc, val) => acc*val);
const maximumProduct = (arr = []) => {
const [first] = arr;
if(!first){
return 0;
};
const creds = arr.reduce((acc, val) => {
const { min, max } = acc;
if(val > max[0]){
max[1] = max[0];
max[0] = val;
return acc;
};
if(val < min[0]){
min[1] = min[0];
min[0] = val;
return acc;
};
if(val > max[1]){
max[1] = val;
return acc;
};
if(val < min[1]){
min[1] = val;
return acc;
};
return acc;
}, {
min: [first, first],
max: [first, first]
});
const { max, min } = creds;
return produce(max) > produce(min) ? produce(max) : produce(min);
};
console.log(maximumProduct(arr));
console.log(maximumProduct(arr2));आउटपुट
कंसोल में आउटपुट होगा -
20 56