План курса / Все задачи / Алгоритмы и структуры данных
Номер колонки в эксель
легко
Дана строка column с названием колонки в Excel (заглавные латинские буквы). Нужно определить её порядковый номер, аналогично тому, как это делает Excel.
Номер колонки в Excel определяется так: каждая буква воспринимается как цифра в системе счисления с основанием 26, где A = 1, B = 2, …, Z = 26, AA = 27.
Пример 1:
Ввод: column = "A"
Вывод: 1
Пример 2:
Ввод: column = "AB"
Вывод: 28
Ограничения:
len(column) >= 1
column содержит только заглавные латинские буквы
public class Solution {
public static int IntFromExcelColumn(String column) {
int result = 0;
foreach (char ch in column) {
int val = ch - 'A' + 1;
result = result * 26 + val;
}
return result;
}
}
#include <string>
using namespace std;
int intFromExcelColumn(string column) {
int result = 0;
for (char ch : column) {
int val = ch - 'A' + 1;
result = result * 26 + val;
}
return result;
}
package main
func intFromExcelColumn(column string) int {
result := 0
for i := 0; i < len(column); i++ {
val := int(column[i]) - int('A') + 1
result = result * 26 + val
}
return result
}
import java.util.*;
public class Solution {
public Integer intFromExcelColumn(String column) {
return intFromExcelColumnHelper(column);
}
private Integer intFromExcelColumnHelper(String column) {
int result = 0;
for (char ch : column.toCharArray()) {
int val = (int) ch - (int) 'A' + 1;
result = result * 26 + val;
}
return result;
}
}
from typing import *
def int_from_excel_column(column: str) -> int:
result = 0
for ch in column:
val = ord(ch) - ord('A') + 1
result = result * 26 + val
return result
from typing import *
def int_from_excel_column(column: str) -> int:
result = 0
for ch in column:
val = ord(ch) - ord('A') + 1
result = result * 26 + val
return result