在Python中查找在起始和结束范围内所有数字连续增长的程序
假设我们有两个数字起始和结束,我们必须找到一个排序的整数列表,使得范围[start,end]中的每个数字e都包含在内,并且e的数字是连续增加的。 连续递增数字的示例是5678,但是169不是连续递增数字。
因此,如果输入是start = 10 end = 150,则输出将为[12, 23, 34, 45, 56, 67, 78, 89, 123]
要解决此问题,我们将遵循以下步骤 –
- s:全9位数字作为字符串“123456789”
- a:新列表
- 对于i在range 0到8中,执行
- 对于j在i + 1到9中, 执行
- x:字符串s从索引i到j-1的子字符串作为数字
- 如果 start <= x <= end,则
- 将x插入a
- 对于j在i + 1到9中, 执行
- 对列表a进行排序并返回
示例
让我们看一下下面的实现以更好地理解 –
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]