কম্পিউটার

জাভাস্ক্রিপ্টে একটি স্ট্রিং থেকে তৈরি করা যেতে পারে এমন প্যালিনড্রোমের সংখ্যা গণনা করা


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসাবে অক্ষরের একটি স্ট্রিং নেয়, str বলুন এবং একটি সংখ্যা, দ্বিতীয় আর্গুমেন্ট হিসাবে num বলুন৷

ফাংশনটি প্যালিনড্রোম স্ট্রিংগুলির সংখ্যা গণনা করা উচিত যা প্রদত্ত স্ট্রিং স্ট্র থেকে তৈরি করা যেতে পারে। ফাংশন তারপর অবশেষে গণনা ফেরত দেওয়া উচিত.

যেমন −

যদি ইনপুট স্ট্রিং এবং সংখ্যা হয় −

const str = 'ij';
const num = 4;

তারপর আউটপুট −

হওয়া উচিত
const output = 4;

কারণ এই চারটি সম্ভাব্য প্যালিনড্রোম স্ট্রিং হল −

'iiii', 'jjjj', 'ijji', 'jiij'

পন্থা:

আমরা প্রথমে একটি হ্যাশ সেট ব্যবহার করে প্রদত্ত স্ট্রিং-এর অনন্য অক্ষরের সংখ্যা গণনা করব। যদি প্যালিন্ড্রোমের দৈর্ঘ্য একটি বিজোড় সংখ্যা হয়, তবে মধ্যম অক্ষরটি আপনার পছন্দ করতে পারে যেখানে আপনি স্ট্রিংটিতে অনন্য অক্ষরের গণনা।

যখন সংখ্যা জোড় হয়, তখন আমাদের নিম্নলিখিত সম্ভাবনা থাকবে −

power(u, num/2)

এবং যখন সংখ্যাটি বিজোড় হয়, তখন আমাদের এই সংখ্যাটিকে u দ্বারা গুণ করতে হবে কারণ আমাদের কাছে সেই অবস্থানের জন্য আপনার পছন্দ আছে।

উদাহরণ

নিম্নলিখিত কোড -

const str = 'ij';
const num = 4;
const findValidPalindromes = (str = '', num = 1) => {
   const set = new Set();
   for(let i = 0; i < str.length; i++){
      const el = str[i];
      set.add(el);
   };
   const u = set.size;
   if(num & 1){
      return Math.pow(u, num/2) * u;
   }else{
      return Math.pow(u, num/2);
   };
};
console.log(findValidPalindromes(str, num));

আউটপুট

নিম্নোক্ত কনসোল আউটপুট -

4

  1. জাভাস্ক্রিপ্ট ব্যবহার করে একটি সংখ্যার ভাজক গণনা

  2. বিপরীত সংখ্যাটি জাভাস্ক্রিপ্টের একটি মৌলিক সংখ্যা

  3. জাভাস্ক্রিপ্টে নম্বর প্যালিনড্রোম তৈরির ধাপগুলি গণনা করা হচ্ছে

  4. পাইথনে প্রদত্ত স্ট্রিং অক্ষর থেকে k আকারের প্যালিনড্রোমের সংখ্যা গণনা করার প্রোগ্রাম তৈরি করা যেতে পারে