কম্পিউটার

জাভাস্ক্রিপ্টে মিলে যাওয়া সাবস্ট্রিং গণনা করা হচ্ছে


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং, str, প্রথম আর্গুমেন্ট হিসাবে এবং স্ট্রিং এর একটি অ্যারে, দ্বিতীয় আর্গুমেন্ট হিসাবে নেয়। আমাদের ফাংশনের arr[i] সংখ্যাটি গণনা করা উচিত এবং ফেরত দেওয়া উচিত যা স্ট্রিং str এর একটি অনুবর্তী।

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয়

ইনপুট

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. জাভাস্ক্রিপ্ট কনস্ট

  2. জাভাস্ক্রিপ্টে কনস্ট বনাম চলুন।

  3. জাভাস্ক্রিপ্ট একটি স্ট্রিং uncamelising

  4. জাভাস্ক্রিপ্টে সীমার যোগফল সহ জোড়া গণনা করা হচ্ছে