Viết hàm nhận chuỗi str và số num. Đếm số chuỗi palindrome độ dài chính xác num có thể tạo từ str.
Ví dụ: str='ij', num=4 → 4 ('iiii','jjjj','ijji','jiij').
Cách tiếp cận: đếm ký tự duy nhất u. Nếu num chẵn: u^(num/2). Nếu lẻ: u^(num/2) * u.
Ví dụ
const str = 'ij';
const num = 4;
const findValidPalindromes = (str = '', num = 1) => {
const set = new Set();
for (let i = 0; i < str.length; i++) set.add(str[i]);
const u = set.size;
if (num & 1) return Math.pow(u, num / 2) * u;
else return Math.pow(u, num / 2);
};
console.log(findValidPalindromes(str, num));
Kết quả
4