LeetCodeに毎日挑戦してみた 168. Excel Sheet Column Title(Python、Go)
Leetcodeとは
leetcode.com
ソフトウェア開発職のコーディング面接の練習といえばこれらしいです。
合計1500問以上のコーデイング問題が投稿されていて、実際の面接でも同じ問題が出されることは多いらしいとのことです。
golang入門+アルゴリズム脳の強化のためにgoとPythonで解いていこうと思います。
38問目(問題168)
168. Excel Sheet Column Title
問題内容
Given a positive integer, return its corresponding column title as appear in an Excel sheet.
For example:
1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ...
Example 1:
Input: 1 Output: "A"
Example 2:
Input: 28 Output: "AB"
Example 3:
Input: 701 Output: "ZY"
考え方
数字を文字に変換する方針で解いていきます。ASCIIを知っているとわかりやすいです
26文字で一周なので26で割りながら0になったらループを終了します
最終的にresが逆順になっているので反転して返します。
解答コード
class Solution:
def convertToTitle(self, n: int) -> str:
res = ""
while n > 0:
n -= 1 # 26 -> "Z"
res += chr(n % 26 + ord('A'))
n //= 26
return res[::-1]
- Goでも書いてみます!
func convertToTitle(n int) string {
result := ""
for {
if n <= 26 {
result = string(n+64) + result
break
} else {
result = string((n-1)%26+1+64) + result
n = (n - 1) / 26
}
}
return result
}
Author And Source
この問題について(LeetCodeに毎日挑戦してみた 168. Excel Sheet Column Title(Python、Go)), 我々は、より多くの情報をここで見つけました https://qiita.com/ishishow/items/eccdb88c43126ad128de著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .