用Python编写程序以查找显示离字符c最近的距离的列表
假设我们有一个字符串s和另一个字符c,c必须存在在s中,我们必须找到一个列表,其长度与s的长度相同,其中对于每个索引i,它的值设置为s[i]到c的最近距离。
因此,如果输入为s =“ppqppq”c =“q”,则输出将为[2,1,0,1,1,0]
要解决这个问题,我们将遵循以下步骤-
- j:= s的大小
-
d:= [j-1] * j
-
x:= c在s中的索引
-
对于i在0到j-1的范围内进行迭代,做以下操作
- 如果s[i]与c相同且i>x,则
- x:= i,ind:= 1
-
以下是循环,请执行
-
如果d[x-ind]>ind,则
- d[x-ind]:= ind
- 否则,
- 退出循环
- ind:= ind + 1
-
d[i]:= |x-i |
- 如果s[i]与c相同且i>x,则
-
返回d
示例
让我们看以下实现以获得更好的理解