LeetCode - 1291 解題紀錄 / September LeetCoding Challenge Day 19
題目: LeetCode - 1291. Sequential Digits
題目說明
給兩個整數 low
, high
,求大於等於 low
且小於等於 high
的所有整數,整數需要每一位都比前一位的值大 1,如 123、234、3456 …,且返回的陣列須按大小排列。
解題思路
題目的要求可以想成從 “123456789” 中找在範圍中的連續子串,先找出 low
及 high
的位數,因為在範圍中的數字位數必定會在 low
及 high
的位數中間,接著使用兩個迴圈,第一層代表位數,第二層為起點 ( 從 0 到 9 - i ),這樣做的同時確保了數字會由小到大,接著判斷,若是數字大於 high
則接下來同位數的數都不會在範圍中,最後判斷若是大於等於 low
則存入結果。
參考解法
1 | class Solution { |
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Larry's notes!
評論