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

गतिशील प्रोग्रामिंग - तत्वों का भाग योग जावास्क्रिप्ट

<घंटा/>

मान लीजिए, हमारे पास इस तरह की संख्याओं की एक सरणी है -

const arr = [1, 2, 3, 4, 5];

हर बार एक तत्व कम लेते हुए, इस सरणी को इस तरह अलग किया जा सकता है -

[1, 2, 3, 4, 5]
[2, 3, 4, 5]
[3, 4, 5]
[4, 5]
[5]
[]

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो ऐसी एक सरणी लेता है। फ़ंक्शन को ऊपर वर्णित तरीके से सरणी को अलग करना चाहिए।

फिर फ़ंक्शन को इन भागों के संबंधित योगों वाली एक सरणी का निर्माण करना चाहिए और उस सरणी को वापस करना चाहिए।

इसलिए, इस सरणी के लिए, आउटपुट इस तरह दिखना चाहिए -

const output = [15, 14, 12, 9, 5 0];

हम इस समस्या को हल करने के लिए डायनामिक प्रोग्रामिंग का उपयोग करेंगे। हम पहले ओ (एन) समय में पूर्ण सरणी के योग की गणना करेंगे, जो अंततः सरणी का पहला तत्व बन जाएगा। फिर एक और पुनरावृत्ति में, हम आउटपुट सरणी तत्व प्राप्त करने के लिए संबंधित तत्वों को घटाते रहेंगे। इस तरह हम इस समस्या को O(n) समय और O(1) स्थान में हल कर सकते हैं।

उदाहरण

const arr = [1, 2, 3, 4, 5];
const sumArray = (arr = []) => arr.reduce((a, b) => a + b, 0);
const partialSum = (arr = []) => {
   let sum = sumArray(arr);
   const res = [sum];
   for(let i = 0;
   i < arr.length; i++){
      const el = arr[i];
      sum -= el;
      res.push(sum);
   };
   return res;
};
console.log(partialSum(arr));

आउटपुट

यह निम्नलिखित आउटपुट देगा -

[ 15, 14, 12, 9, 5, 0 ]

  1. जावास्क्रिप्ट में सरणी तत्वों को पुनर्व्यवस्थित करना

    समस्या जावास्क्रिप्ट फ़ंक्शन जो पहले और एकमात्र तर्क के रूप में शाब्दिक, गिरफ्तारी की एक सरणी लेता है। इस सरणी में कुछ डुप्लीकेट पास में रखे गए हैं। हमारे फ़ंक्शन को सरणी के तत्वों को इस तरह पुनर्व्यवस्थित करना चाहिए कि सरणी में कोई भी दो तत्व समान न हों। हमारे फ़ंक्शन को पुनर्व्यवस्थित सरणी वापस

  1. जावास्क्रिप्ट में एक सरणी के तत्वों को पुनर्व्यवस्थित करना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो संख्याओं की एक सरणी लेता है, एआर, पहले और एकमात्र तर्क के रूप में। सरणी गिरफ्तारी, हमेशा सम लंबाई की होगी। हमारे फ़ंक्शन को सत्य वापस आना चाहिए यदि और केवल यदि इसे पुन:व्यवस्थित करना संभव हो तो arr[2 * i + 1] =2 * arr[2 * i] प्रत्येक 0 <=i <

  1. जावास्क्रिप्ट का उपयोग करके द्वि-आयामी सरणी के तत्वों का वैकल्पिक योग

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो समान संख्या में पंक्तियों और स्तंभों वाली संख्याओं के m X n क्रम की 2-आयामी सरणी लेता है। इस सरणी के लिए, हमारे फ़ंक्शन को निम्नलिखित योग गिनना चाहिए और वापस करना चाहिए- $\sum_{i=1}^m \sum_{j=1}^n (-1)^{i+j}a_{ij}$ उदाहरण निम्नलिखित को