সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং (str) নেবে। ফাংশনটি ইনপুট স্ট্রিং-এর সব পারমুটেশন তৈরি করবে এবং ডুপ্লিকেট থাকলে সেগুলো সরিয়ে দেবে। অর্থাৎ, ইনপুটের সব অক্ষর দিয়ে সব সম্ভাব্য ক্রম বানাতে হবে।
উদাহরণ
নিচের কোডটি –
const str = 'aabb'; const permute = (str = '') => { if (!!str.length && str.length < 2 ){ return str; } const arr = []; for (let i = 0; i < str.length; i++){ let char = str[i]; if (str.indexOf(char) != i) continue; let remainder = str.slice(0, i) + str.slice(i + 1, str.length); for (let permutation of permute(remainder)){ arr.push(char + permutation); } } return arr }; console.log(permute(str));আউটপুট
কনসোল আউটপুট –
[ 'aabb', 'abab', 'abba', 'baab', 'baba', 'bbaa' ]