समस्या
हमें एक JavaScript फ़ंक्शन लिखना है जो एक स्ट्रिंग 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' ]