LeetCode | 171.Excel表列序号

这道题涉及到字符串和进制转换,首先我们先创建一个A-Z到1-26的map映射,方便我们后续遍历字符串转换,然后对字符串从后往前遍历,依次加上对应权重,注意越往前的权重越大,要记得对应乘上26的对应方数

python 复制代码
class Solution(object):
    def titleToNumber(self, columnTitle):
        """
        :type columnTitle: str
        :rtype: int
        """
        ans = 0
        base = 1
        index = len(columnTitle) - 1
        # 使用字典推导式创建映射字典
        mapping = {chr(i): i - 64 for i in range(65, 91)}
        while index >= 0:
            ans += mapping[columnTitle[index]] * base
            base *= 26
            index -= 1
        return ans
相关推荐
sinat_255487818 小时前
泛型:超级、扩展、列表·学习笔记
java·windows·学习·算法
切糕师学AI8 小时前
Elasticsearch RRF(倒数排序融合)技术详解与实践
算法·elasticsearch·搜索引擎·混合搜索·rrf·归一化问题
lihao lihao9 小时前
进程地址空间
数据结构·c++·算法
Byte不洛9 小时前
LeetCode双指针经典题
c++·算法·leetcode·双指针
汀、人工智能9 小时前
[特殊字符] 第16课:最小覆盖子串
数据结构·算法·数据库架构·图论·bfs·最小覆盖子串
米粒19 小时前
力扣算法刷题 Day 34
算法·leetcode·职场和发展
田梓燊9 小时前
leetcode 189
算法·leetcode·职场和发展
wuweijianlove9 小时前
算法复杂度的理论边界与实验验证研究的技术3
算法
rm6fEx0Z79 小时前
AUC 与 GAUC:从全局排序到用户内排序的理解
人工智能·算法·机器学习
minji...9 小时前
Linux 多线程(四)线程等待,线程分离,线程管理,C++多线程,pthread库
linux·运维·开发语言·网络·c++·算法