Функция findMissingLetter

Функция findMissingLetter


Ответ:

function findMissingLetter(array) {
    for (let i = 0; i < array.length - 1; i++) {
        if (array[i + 1].charCodeAt(0) - array[i].charCodeAt(0) !== 1) {
            return String.fromCharCode(array[i].charCodeAt(0) + 1);
        }
    }

    return undefined;
}

Объяснение:

Секрет в том, что в таблице ASCII символов буквы латинского алфавита идут по порядку (например 97, 98, 99...). На основании этого нам нужно всего лишь пройтись по каждому символу, кроме последнего, получить ASCII-код этого символа и ASCII-код следующего символа, и если разница между ними не равна, 1 то это ошибка в последовательности и нужно вернуть следующий символ.

Код для проверки:

function findMissingLetter(array) {
    for (let i = 0; i < array.length - 1; i++) {
        if (array[i + 1].charCodeAt(0) - array[i].charCodeAt(0) !== 1) {
            return String.fromCharCode(array[i].charCodeAt(0) + 1);
        }
    }

    return undefined;
}

console.log(findMissingLetter(["a", "b", "c", "d", "f"]));
console.log(findMissingLetter(["O", "Q", "R", "S"]));


Report Page