用 Python 对具有给定索引的字符串进行洗牌的程序
假设我们有一个字符串 s 和一个索引列表 ind,它们的长度相同。将对字符串 s 进行洗牌,使得位置 i 的字符移动到最终字符串中的 indices[i] 位置。我们需要找到最终的字符串。
所以,如果输入是 s = “ktoalak” ind = [0,5,1,6,2,4,3],那么输出将是 “kolkata”
要解决这个问题,我们将按照以下步骤进行 −
- fin_str:一个与 s 长度相同的填充了 0 的列表
-
对于 s 中的每个索引 i 和字符 v,执行以下操作
- fin_str[ind[i]]:= v
- 连接 fin_str 中每个存在的字符并返回
更多Python相关文章,请阅读:Python 教程
示例(Python)
让我们看看下面的实现,以更好地理解代码 −
def solve(s, ind):
fin_str = [0] * len(s)
for i, v in enumerate(s):
fin_str[ind[i]] = v
return "".join(fin_str)
s = "ktoalak"
ind = [0,5,1,6,2,4,3]
print(solve(s, ind))
输入
"ktoalak",[0,5,1,6,2,4,3]
输出
kolkata