python-leetcode-171. Excel 表列序号

171. Excel 表列序号 - 力扣(LeetCode)

可以使用类似将 Excel 列名称转换为 26 进制数的方法来求解。每个字母代表一个数字(A=1, B=2, ..., Z=26),然后从右到左计算它在 26 进制中的值。

代码实现:

def titleToNumber(columnTitle: str) -> int:
    result = 0
    for char in columnTitle:
        result = result * 26 + (ord(char) - ord('A') + 1)
    return result

# 测试
print(titleToNumber("A"))    # 1
print(titleToNumber("AB"))   # 28
print(titleToNumber("ZY"))   # 701

解释:

  • "A" = 1
  • "AB" = 1 × 26 + 2 = 28
  • "ZY" = 26 × 26 + 25 = 701

这个方法的时间复杂度是 O(n),其中 n 是字符串长度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值