ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน 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' ]