हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो स्ट्रिंग्स की एक सरणी लेता है। तब फ़ंक्शन को सरणी के तारों के सभी संभावित संयोजनों को उत्पन्न और वापस करना चाहिए।
उदाहरण
इसके लिए कोड होगा -
const arr = ['a', 'b', 'c', 'd'];
const permutations = (len, val, existing) => {
if(len==0){
res.push(val);
return;
}
for(let i=0; i<arr.length; i++){
// so that we do not repeat the item, using an array here makes it
O(1) operation
if(!existing[i]){
existing[i] = true;
permutations(len−1, val+arr[i], existing);
existing[i] = false;
}
}
}
let res = [];
const buildPermuations = (arr = []) => {
for(let i=0; i < arr.length; i++){
permutations(arr.length−i, "", []);
}
};
buildPermuations(arr);
console.log(res); उदाहरण
और कंसोल में आउटपुट होगा -
[ 'abcd', 'abdc', 'acbd', 'acdb', 'adbc', 'adcb', 'bacd', 'badc', 'bcad', 'bcda', 'bdac', 'bdca', 'cabd', 'cadb', 'cbad', 'cbda', 'cdab', 'cdba', 'dabc', 'dacb', 'dbac', 'dbca', 'dcab', 'dcba', 'abc', 'abd', 'acb', 'acd', 'adb', 'adc', 'bac', 'bad', 'bca', 'bcd', 'bda', 'bdc', 'cab', 'cad', 'cba', 'cbd', 'cda', 'cdb', 'dab', 'dac', 'dba', 'dbc', 'dca', 'dcb', 'ab', 'ac', 'ad', 'ba', 'bc', 'bd', 'ca', 'cb', 'cd', 'da', 'db', 'dc', 'a', 'b', 'c', 'd' ]