समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो एक स्ट्रिंग स्ट्र लेता है। हमारे फ़ंक्शन को इनपुट स्ट्रिंग के सभी क्रमपरिवर्तन बनाने चाहिए और यदि मौजूद हो तो डुप्लिकेट को हटा देना चाहिए। इसका मतलब है, हमें इनपुट से सभी अक्षरों को सभी संभावित क्रमों में फेरबदल करना होगा।
उदाहरण
निम्नलिखित कोड है -
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' ]