件名の説明:
Excelスプレッドシートの列名が与えられ、対応する列番号を返します。
たとえば、
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
例1:
入力: ""
出力:1
例2:
入力: "AB"
出力:28
例3:
入力: "ZY"
出力:701
問題解決のアイデア:
ヘクス26は、例えば、521小数点以下のように表すことができることができるように:521 = 5 10 ** 2 + 2 10 1 + 1 * 0
と、その後ときに1インクリメントされるデジタルアルファベットインデックスに変換。
class Solution(object):
def titleToNumber(self, s):
"""
:type s: str
:rtype: int
"""
s=s[::-1]
num=0
alp='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
for i in range(len(s)):
j=alp.index(s[i])+1
num+=j*26**i
return num