আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসাবে অক্ষরের একটি স্ট্রিং নেয়, 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