हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो सकारात्मक और नकारात्मक पूर्णांकों की एक सरणी लेता है। चूंकि सरणी में नकारात्मक तत्व भी होते हैं, इसलिए सन्निहित तत्वों का योग संभवतः नकारात्मक या सकारात्मक हो सकता है।
हमारे फ़ंक्शन को उस सरणी से सन्निहित तत्वों की एक सरणी चुननी चाहिए जो सबसे बड़ी रकम है। अंत में, फ़ंक्शन को उस सरणी को वापस करना चाहिए।
उदाहरण के लिए -
यदि इनपुट ऐरे है -
const arr = [-2, -3, 4, -1, -2, 1, 5, -3];
फिर अधिकतम संभव योग 7 है और आउटपुट सबअरे होना चाहिए -
const output = [4, -1, -2, 1, 5];
उदाहरण
निम्नलिखित कोड है -
const arr = [-2, -3, 4, -1, -2, 1, 5, -3]; const maximumSubarray = (arr = []) => { let max = -Infinity; let currentSum = 0; let maxStartIndex = 0; let maxEndIndex = arr.length - 1; let currentStartIndex = 0; arr.forEach((currentNumber, currentIndex) => { currentSum += currentNumber; if (max < currentSum) { max = currentSum; maxStartIndex = currentStartIndex; maxEndIndex = currentIndex; } if (currentSum < 0) { currentSum = 0; currentStartIndex = currentIndex + 1; } }); return arr.slice(maxStartIndex, maxEndIndex + 1); }; console.log(maximumSubarray(arr));
आउटपुट
कंसोल पर आउटपुट निम्नलिखित है -
[ 4, -1, -2, 1, 5 ]