কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে MapSum ক্লাস ইমপ্লিমেন্টেশন (ইনসার্ট এবং সাম মেথড)

সমস্যা

একটি MapSum ক্লাস ইমপ্লিমেন্ট করতে হবে যাতে insert এবং sum মেথড থাকে। insert-এ (স্ট্রিং, ইন্টিজার) জোড়া দেওয়া হবে। স্ট্রিংটি কী (key) এবং ইন্টিজারটি মান (value)। যদি কী আগে থাকে, তবে পুরানো মান নতুন মান দিয়ে ওভাররাইড হবে। 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. জাভাস্ক্রিপ্টে বাইনারি ট্রি

  2. জাভাস্ক্রিপ্টে AVL রোটেশন

  3. জাভাস্ক্রিপ্টে প্রিমের অ্যালগরিদম

  4. জাভাস্ক্রিপ্টে Map অবজেক্ট