LeetCode #12 Integer to Roman - 刷題之旅
1 題目描述
把數字轉換成羅馬數字,正常情況就是把每個字母相加,並且大字母在前,小字母在後,上邊也介紹了像 4 和 9 那些特殊情況。
2 解法
2.1 我的作法(無HashTable)
簡單粗暴些,把所有可能都列舉出來,包含1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1,然後一個一個去減,直到 num 為 0 為止。
大概是這種感覺:
1 | class Solution(object): |
時間複雜度:O(1)
- 循環次數:函數中有一個 for 循環,遍歷 arr 列表中的所有元素。arr 列表的長度是常數(13),所以這個循環的次數是固定的,為 13。
空間複雜度:O(1) - 固定空間:儲存 arr 列表,這是固定的大小,包含 13 個元素。
3 結論
這題感覺難度應該是 easy ,沒有那麼難,就是理清楚題意,然後就可以往出列舉就行了。
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Shannon's Blog 🐟 技術 | 生活 | 旅行! 如果你覺得我的文章有幫助,希望你可以到我的 github 給我一個 star ⭐️ Shannon Blog Repo
評論