Excel Sheet Column Number

https://leetcode.com/problems/excel-sheet-column-numberEasy

Условие

Дана строка, представляющая заголовок столбца в Excel, нужно вернуть его порядковый номер. Например, “A” возвращает 1, “B” возвращает 2, “Z” возвращает 26, “AA” возвращает 27 и так далее.

Примеры

Input: columnTitle = "A”

Output: 1
Input: columnTitle = "AB”

Output: 28
Input: columnTitle = "ZY”

Output: 701

Решение

fun titleToNumber(columnTitle: String): Int {
    var result = 0
    
    // Проходим по всем символам строки слева направо
    for (c in columnTitle) {
        // Переводим символ в его числовое значение (от A до Z)
        val value = c - 'A' + 1
        // Переходим на "следующий разряд", умножая результат на 26
        result = result * 26 + value
    }
    
    return result // Возвращаем итоговый номер столбца
}

Временная сложность

O(n), где n — длина строки columnTitle, так как мы проходим по каждому символу строки один раз.

Пространственная сложность

O(1), так как используется константное количество дополнительной памяти.