Номер колонки в таблице Excel

Источник задачи: https://leetcode.com/problems/excel-sheet-column-number/

Дана строка columnTitle она представляет собой название колонки в таблице Excel. Рассчитать номер этой колонки.

Например:

A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...

Пример 1:

Дано: columnTitle = "A"
Результат: 1

Пример 2:

Дано: columnTitle = "AB"
Результат: 28

Пример 3:

Дано: columnTitle = "ZY"
Результат: 701

Пример 4:

Дано: columnTitle = "FXSHRXW"
Результат: 2147483647

Ограничения:

  • 1 <= columnTitle.length <= 7
  • columnTitle состоит только из заглавных букв английсокго алфавита.
  • columnTitle находится в диапазоне ["A", "FXSHRXW"].

Имплементация

class Solution {
   public int titleToNumber(String A) {
        int base = 26; // 26 заглавных букв в алфавите
        int result = 0;
// просматриваем каждый символ строки
        for (int i = 0; i < A.length(); i++) {
            char c = A.charAt(i);
            int rest = (int)c-64; // какому числу соответвует этот символ (заглавная буква)
            result = result * base + rest; //считаем число в 26-ичной системе
        }
        return result;
    }
}

Комментарии

Популярные сообщения из этого блога

Разбиение числа на сумму с максимальным произведнием слагаемых

Число подмассивов, в которых сумма элементов равна k

Сложить два числа, которые представлены списком