假设我们有两个数字 start 和 end,我们必须找到一个排序的整数列表,使得 [start, end] 范围内的每个数字 e 都包括在内并且 e 的数字连续增加。一个不断增加的数字的例子是 5678,但 169 不是。
因此,如果输入类似于 start = 10 end = 150,那么输出将是 [12, 23, 34, 45, 56, 67, 78, 89, 123]
让我们看看以下实现以获得更好的理解 -
def solve(start, end): s = "123456789" a = [] for i in range(9): for j in range(i + 1, 10): x = int(s[i:j]) if start <= x <= end: a += (x,) return sorted(a) start = 10 end = 150 print(solve(start, end))
10, 150输出结果
[12, 23, 34, 45, 56, 67, 78, 89, 123]