leetcode 算法 Excel表列序號 python實現
阿新 • • 發佈:2018-09-06
技術 += rev let class excel表 sum span turn
這道題給我感覺就像一個26進制數一樣。
A 就是1 B是2 。。。。 Z 是26
如果AB 兩位,那就是 1 * 26 + 2 就是A 的數值*26 + B的數值
如果是MNP 三位數 那就是 M * 26^2 + N * 26^1 + P *26^0
就這樣。。
1 class Solution:
2 def titleToNumber(self, s):
3 """
4 :type s: str
5 :rtype: int
6 """
7 sum = 0
8 li = [ord(i) - ord(" A") + 1 for i in reversed(s)]
9 for i in range(len(li)):
10 sum += li[i] * 26**i
11 return sum
12
13
14
15
16 if __name__ == ‘__main__‘:
17 s = Solution()
18 print(s.titleToNumber("ZY"))
leetcode 算法 Excel表列序號 python實現