1.编辑器
我使用的是win10+vscode+leetcode+python3
环境配置参见我的博客:
链接
2.第一百七十一题
(1)题目
英文:
Given a column title as appear in an Excel sheet, return its corresponding column number.
中文:
给定一个Excel表格中的列名称,返回其相应的列序号。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/excel-sheet-column-number
(2)解法
就是一个26进制转十进制的算法,使用了ord方法来返回字符对应的ASCII码值。
(耗时:48ms,内存:13.8M)
class Solution:
def titleToNumber(self, s: str) -> int:
return sum( [(ord(s[i])-64) * 26 ** (len(s)-1-i) for i in range(len(s))])
注意:
1.这里减去64的原因是,字符A对应的ASCII码值是65,这样实际的码值就是65-64=1,这样就与题设的对应关系匹配上了。
2.(len(s)-1-i)
因为是从左到右进行计算的。