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

JavaScript में मैप सम जोड़े

समस्या

हमें insert और sum विधियों के साथ एक MapSum क्लास को लागू करना है। insert विधि के लिए, हमें (स्ट्रिंग, पूर्णांक) का एक जोड़ा दिया जाएगा। स्ट्रिंग कुंजी को दर्शाता है और पूर्णांक मान को दर्शाता है। यदि कुंजी पहले से मौजूद थी, तो मूल कुंजी-मान जोड़ी को नए से ओवरराइड किया जाएगा।

sum विधि के लिए, हमें एक स्ट्रिंग दी जाएगी जो उपसर्ग को दर्शाती है, और हमें उन सभी जोड़ों के मानों का योग लौटाना होगा जिनकी कुंजी उस उपसर्ग से शुरू होती है।

उदाहरण

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

class Node {   constructor(val) {     this.num = 0;     this.val = val;     this.children = {};   } } class MapSum {   constructor(){     this.root = new Node('');   } } MapSum.prototype.insert = function (key, val) {   let node = this.root;   for (const char of key) {     if (!node.children[char]) {       node.children[char] = new Node(char);     }     node = node.children[char];   }   node.num = val; }; MapSum.prototype.sum = function (prefix) {   let sum = 0;   let node = this.root;   for (const char of prefix) {     if (!node.children[char]) {       return 0;     }     node = node.children[char];   }   const helper = (node) => {     sum += node.num;     const { children } = node;     Object.keys(children).forEach((key) => {       helper(children[key]);     });   };   helper(node);   return sum; }; const m = new MapSum(); console.log(m.insert('apple', 3)); console.log(m.sum('ap'));

आउटपुट

undefined 3
  1. जावास्क्रिप्ट में AVL रोटेशन्स जावास्क्रिप्ट में AVL रोटेशन्स

    स्वयं को बैलेंस करने के लिए, एक AVL ट्री निम्नलिखित चार प्रकार के रोटेशन कर सकता है: लेफ्ट रोटेशन राइट रोटेशन लेफ्ट-राइट रोटेशन राइट-लेफ्ट रोटेशन पहले दो रोटेशन सिंगल रोटेशन हैं और अगले दो डबल रोटेशन हैं। एक अनबैलेंस्ड ट्री होने के लिए, हमें कम से कम ऊंचाई 2 के ट्री की आवश्यकता होती है। इस सरल ट्

  1. जावास्क्रिप्ट में प्रिम एल्गोरिदम जावास्क्रिप्ट में प्रिम एल्गोरिदम

    प्रिम का एल्गोरिदम एक लालची एल्गोरिदम है जो वेटेड अनडायरेक्टेड ग्राफ के लिए न्यूनतम स्पैनिंग ट्री ढूंढता है। यह एजेज का एक सबसेट ढूंढता है जो एक ट्री बनाता है जिसमें हर वर्टेक्स शामिल होता है, जहां ट्री में सभी एजेज का कुल वजन न्यूनतम होता है। एल्गोरिदम एक मनमाने शुरुआती वर्टेक्स से, एक समय में एक

  1. जावास्क्रिप्ट में Map ऑब्जेक्ट जावास्क्रिप्ट में Map ऑब्जेक्ट

    Map ऑब्जेक्ट को ES6 में पेश किया गया था और यह एलिमेंट्स का एक संग्रह है जो की और वैल्यू पेयर होते हैं। एक मैप में की या वैल्यू एक ऑब्जेक्ट या प्रिमिटिव वैल्यू हो सकती है। जावास्क्रिप्ट में मैप ऑब्जेक्ट के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta