【力扣日記】168 excel表列名稱

題目描述

給定一個正整數,返回它在 Excel 表中相對應的列名稱。

例如,

1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB 
...

算法思路

class Solution:
    def convertToTitle(self, n: int,s='') -> str:
        di={-1:'',0:'Z',1:'A',2:'B',3:'C',4:'D',5:'E',6:'F',7:'G',8:'H',9:'I',10:'J',11:'K',12:'L',13:'M',14:'N',15:'O',16:'P',17:'Q',18:'R',19:'S',20:'T',21:'U',22:'V',23:'W',24:'X',25:'Y',26:'Z'}
        if n%26:
            while n>26:
                s+=di[n%26]
                n=n//26
            return di[n]+s[::-1]
        else:
            while n>27:
                s+=di[n%26-1 if n%26!=0 else n%26]
                n=n//26
            if n==26:return di[n]+s[::-1]
            return di[n-1]+s[::-1]

執行用時 :28 ms, 在所有 Python3 提交中擊敗了85.66%的用戶
內存消耗 :13.4 MB, 在所有 Python3 提交中擊敗了31.70%的用戶

心態崩了 ,一道題做了一小時。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章