LeetCode简单题之Excel表列名称
生活随笔
收集整理的這篇文章主要介紹了
LeetCode简单题之Excel表列名称
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
給你一個整數 columnNumber ,返回它在 Excel 表中相對應的列名稱。
例如:
A -> 1
B -> 2
C -> 3
…
Z -> 26
AA -> 27
AB -> 28
…
示例 1:
輸入:columnNumber = 1
輸出:“A”
示例 2:
輸入:columnNumber = 28
輸出:“AB”
示例 3:
輸入:columnNumber = 701
輸出:“ZY”
示例 4:
輸入:columnNumber = 2147483647
輸出:“FXSHRXW”
提示:
1 <= columnNumber <= 2^31 - 1
來源:力扣(LeetCode)
解題思路
??這是一道進制轉換題,類比常用的10進制轉2進制或者8進制等,但是這些進制的轉換實際上都是將一個十進制的數映射到0 ~ 1或者0 ~ 7。而這個題目將十進制的數字映射到了1 ~ 26,轉換的過程中如果對26求余的話會被映射在0 ~ 25 因此,這里就可以用1 ~ 25映射A ~ Y 用0來映射Z。
class Solution:def convertToTitle(self, columnNumber: int) -> str:temp=''while columnNumber>0:t=columnNumber%26if t==0:t=26temp=chr(t+64)+tempcolumnNumber=(columnNumber-t)//26return temp
??當然也可以將 A映射到0 ,B ~ Z映射至 1 ~ 25,這樣的話就和我們通常使用的進制轉換一致了。
class Solution:def convertToTitle(self, columnNumber: int) -> str:temp=''while columnNumber>0:columnNumber-=1temp=chr(columnNumber%26+65)+tempcolumnNumber//=26return temp
總結
以上是生活随笔為你收集整理的LeetCode简单题之Excel表列名称的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode简单题之相对名次
- 下一篇: LeetCode简单题之七进制数