Viết hàm đếm số ký tự "dư thừa" trong chuỗi (ký tự xuất hiện từ lần 2 trở đi).
Ví dụ
'abcde'→ 0 (tất cả duy nhất)'aaacbfsc'→ 3 (a: 2 dư, c: 1 dư)
Giải pháp
Mã triển khai:
const str = 'aaacbfsc';
const countRedundant = str => {
let count = 0;
for (let i = 0; i < str.length; i++) {
// Nếu không phải lần xuất hiện cuối cùng → dư thừa
if (i !== str.lastIndexOf(str[i])) count++;
}
return count;
};
console.log(countRedundant(str));
Kết quả
Đầu ra trong console:
3
Giải thích: 'a' ở vị trí 0,1 là dư (lastIndex=2), 'c' ở vị trí 3 là dư (lastIndex=6). Tổng 3.