1 class Solution:
 2     def sequentialDigits(self, low: int, high: int) -> 'List[int]':
 3         lists = ['1','2','3','4','5','6','7','8','9']
 4         res = []
 5         for i in range(9):
 6             for length in range(1,10):
 7                 j = i + length
 8                 sub = ''.join(lists[i:j])
 9                 integer = int(sub)
10                 if integer >= low and integer <= high:
11                     res.append(integer)
12                 elif integer > high:
13                     break
14                 if j >= 9:
15                     break
16         res.sort()
17         return res

按照从小到大的顺序生成递增序列,每生成一个序列,判断是否在限定区间内。

如果超过了区间的上限,则跳过本轮循环(因为后面的值会更大)。

posted on 2019-12-15 15:29  Sempron2800+  阅读(140)  评论(0编辑  收藏  举报