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

जावास्क्रिप्ट में मेल खाने वाले सबस्ट्रिंग की गणना करना

<घंटा/>

समस्या

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

उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है

इनपुट

const str = 'klmnop';
const arr = ['k', 'll', 'klp', 'klo'];

आउटपुट

const output = 3;

आउटपुट स्पष्टीकरण

क्योंकि आवश्यक तार 'k', 'klp', और 'klo' हैं

उदाहरण

निम्नलिखित कोड है -

const str = 'klmnop';
const arr = ['k', 'll', 'klp', 'klo'];
const countSubstrings = (str = '', arr = []) => {
   const map = arr.reduce((acc, val, ind) => {
      const c = val[0]
      acc[c] = acc[c] || []
      acc[c].push([ind, 0])
      return acc
   }, {})
   let num = 0
   for (let i = 0; i < str.length; i++) {
      if (map[str[i]] !== undefined) {
         const list = map[str[i]]
         map[str[i]] = undefined
         list.forEach(([wordIndex, charIndex]) => {
            if (charIndex === arr[wordIndex].length - 1) {
               num += 1
            } else {
               const nextChar = arr[wordIndex][charIndex + 1]
               map[nextChar] = map[nextChar] || []
               map[nextChar].push([wordIndex, charIndex + 1])
            }  
         })
      }
   }
   return num
}
console.log(countSubstrings(str, arr));

आउटपुट

3

  1. जावास्क्रिप्ट कॉन्स्ट

    जावास्क्रिप्ट कॉन्स्ट घोषणाएं वेरिएबल बनाती हैं जिन्हें किसी अन्य मान पर पुन:असाइन नहीं किया जा सकता है या बाद में पुन:घोषित नहीं किया जा सकता है। इसे ES2015 में पेश किया गया था। जावास्क्रिप्ट कॉन्स्टेबल डिक्लेरेशन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html> <head> &l

  1. जावास्क्रिप्ट में कॉन्स्ट बनाम लेट।

    Const and let को ES2015 में ब्लॉक स्कोप्ड वेरिएबल घोषित करने के लिए पेश किया गया था। जबकि लेट का उपयोग करके घोषित चर को पुन:असाइन किया जा सकता है, यदि उन्हें कॉन्स का उपयोग करके घोषित किया गया है तो उन्हें पुन:असाइन नहीं किया जा सकता है। जावास्क्रिप्ट में लेट और कॉन्स्ट दिखाने वाला कोड निम्नलिखित ह

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

    रेंज योग रेंज योग रेंजसम (i, j) को इंडेक्स i और j (i ≤ j), समावेशी के बीच एक सरणी में तत्वों के योग के रूप में परिभाषित किया गया है। समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो इंटीजर की एक सरणी लेता है, एआर, पहले तर्क के रूप में और दो नंबर, दूसरे और तीसरे तत्व के रूप में ऊपरी और