Сложность: easy
Дана строка
columnTitle, представляющая название столбца, как это отображается в Excel. Вернуть соответствующий номер столбца.Пример:
Input: columnTitle = "A"
Output: 1
👨💻 Алгоритм:
1⃣Создайте отображение букв алфавита и их соответствующих значений (начиная с 1).
2⃣Инициализируйте переменную-аккумулятор result.
3⃣Начиная справа налево, вычислите значение символа в
зависимости от его позиции и добавьте его к result.
😎 Решение:
func titleToNumber(_ s: String) -> Int {
var result = 0
let alpha_map: [Character: Int] = {
var map = [Character: Int]()
for i in 0..<26 {
map[Character(UnicodeScalar(i + 65)!)] = i + 1
}
return map
}()
let n = s.count
for (i, char) in s.reversed().enumerated() {
result += alpha_map[char]! * Int(pow(26.0, Double(i)))
}
return result
}Ставь 👍 и забирай 📚 Базу знаний