Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जावास्क्रिप्ट में उपसरणी का अधिकतम सन्निहित योग

<घंटा/>

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो सकारात्मक और नकारात्मक पूर्णांकों की एक सरणी लेता है। चूंकि सरणी में नकारात्मक तत्व भी होते हैं, इसलिए सन्निहित तत्वों का योग संभवतः नकारात्मक या सकारात्मक हो सकता है।

हमारे फ़ंक्शन को उस सरणी से सन्निहित तत्वों की एक सरणी चुननी चाहिए जो सबसे बड़ी रकम है। अंत में, फ़ंक्शन को उस सरणी को वापस करना चाहिए।

उदाहरण के लिए -

यदि इनपुट ऐरे है -

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 ]

  1. जावास्क्रिप्ट में उप-सरणी का अधिकतम योग ज्ञात करने के लिए कडाने के एल्गोरिथम का उपयोग करना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पहले और एकमात्र तर्क के रूप में पूर्णांकों (सकारात्मक और नकारात्मक दोनों) की एक सरणी लेता है। हमारे फ़ंक्शन को रैखिक समय में किसी भी उप-सरणी का अधिकतम योग वापस करना चाहिए किसी भी मनमाने सूचकांक पर local_maximum arr[i] की अधिकतम और अनुक्रमणिक

  1. जावास्क्रिप्ट का उपयोग करते हुए वृत्ताकार सरणी में अधिकतम उपसरणी योग

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पूर्णांकों की एक सरणी लेता है, गिरफ्तारी, पहले और एकमात्र तर्क के रूप में। हम इस सरणी को एक गोलाकार सरणी मान सकते हैं, जिसका अर्थ है कि सरणी का अंतिम तत्व पहले के बाद होगा। हमारे फ़ंक्शन को गिरफ्तारी के गैर-रिक्त उप-सरणी का अधिकतम संभव योग ढू

  1. C++ में सन्निहित सरणी

    मान लीजिए कि हमारे पास एक द्विआधारी सरणी है, हमें 0 और 1 की समान संख्या के साथ एक सन्निहित उपसरणी की अधिकतम लंबाई ज्ञात करनी है। इसलिए यदि इनपुट [0,1,0] जैसा है, तो आउटपुट 2 के रूप में [0 होगा, 1] या [1,0] 0 और 1 की समान संख्या वाली सबसे बड़ी सन्निहित सरणी है। इसे हल करने के लिए, हम इन चरणों का पाल