使用 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)

让我们查看以下实现以更好地理解:

 演示

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,7,2,4,3]

输出

kolkata

更新于:17-5-2021

1 千次观看

开启你的 职业生涯

完成课程,获得认证

开始
广告