Excel Sheet Column Number
https://leetcode.com/problems/excel-sheet-column-number | Easy |
Условие
Дана строка, представляющая заголовок столбца в 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), так как используется константное количество дополнительной памяти.