171 Excel表列序號

2021-08-26 23:00:45 字數 701 閱讀 6766

給定乙個excel**中的列名稱,返回其相應的列序號。

例如,

a -> 1

b -> 2

c -> 3

...z -> 26

aa -> 27

ab -> 28

...

示例 1:

輸入: "a"

輸出: 1

示例 2:

輸入: "ab"

輸出: 28

示例 3:

輸入: "zy"

輸出: 701

是乙個26進製轉換為10進製得問題,如zy,它得「十」位數是z,個位數是y,就是26*26+25,用ord將字元轉換成ascii碼減去64就可以得到a->1,b->2…的效果了。

class

solution:

deftitletonumber

(self, s):

""" :type s: str

:rtype: int

"""res = 0

for index,item in enumerate(s):

res += (ord(item)-64)*26**(len(s)-index-1)

return res

Leetcode 171 Excel表列序號

題目描述 給定乙個excel 中的列名稱,返回其相應的列序號。例如,a 1 b 2 c 3 z 26 aa 27 ab 28 示例 1 輸入 a 輸出 1 示例 2 輸入 ab 輸出 28 示例 3 輸入 zy 輸出 701 思路字串遍歷 進製轉換 初始化結果ans 0,遍歷時將每個字母與a做減法,...

LeetCode 171 Excel表列序號

1.題目描述 思路 26個字母,相當於26進製運算,跟十進位制類似.從右往左運算,當前字母在excel表中值為 ord c 64,因為 ord a 65 3.整理 3.1 range 1 for i in range 2,1,1 2print i 1 2 2 13 0 1 for i in rang...

Excel表列名稱 leetcode

excel表列名稱 目錄進製轉換的題目,但是對邊界條件的處理並不是很好想 這題我看了題解 solution shi jin zhi zhuan 26jin zhi by powcai 這個講的比較明白,也是符合人直覺的答案 其他的 n 1 說實話,我根據推論能看出來是對的,但是,如果讓我再做一遍,我...