Комментарии 5
Спасибо за перевод. Если подумать, то первую задачку можно решить чуть короче:
function encodeString(s) {
// "AAAABB" -> [["AAAA", "A"], ["BB", "B"]]
const matches = s.matchAll(/(.)\1*/g)
const mapFn = ([s, с]) => s.length + с
return Array.from(matches, mapFn).join('')
}
function decodeString(s) {
// "4A2B" -> [["4A", "4", "A"], ["2B", "2", "B"]]
const matches = s.matchAll(/(\d+)(.)/g)
const mapFn = ([, n, c]) => c.repeat(n)
return Array.from(matches, mapFn).join('')
}
deleted
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Решение нескольких задач от Amazon на примере JavaScript