在字符串列表中的相同位置查找字符的算法?

标签 algorithm string

假设我有:

  1. 托比
  2. 保守党
  3. 提利

是否有一种算法可以轻松地创建所有这些字符串中相同位置的常用字符列表? (在这种情况下,常见字符是位置 0 的“T”和位置 3 的“y”)

我尝试查看一些用于 DNA 序列匹配的算法,但似乎大多数算法都只是用于查找公共(public)子串,而不管它们的位置如何。

最佳答案

查找在特定位置的所有字符串中常见的字符列表非常简单。只需为每个字符位置一次迭代每个字符串 1 个字符位置。如果任何字符串的字符与其最近邻字符串的字符不匹配,则该位置不包含公共(public)字符。

对于任何 i = 0 到长度 -1... 一旦找到 Si[x] != Si+1[x] 就可以跳到下一个位置 x+1。

其中 Si 是列表中的第 i 个字符串。而[x]是位置x的字符。

关于在字符串列表中的相同位置查找字符的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68664/

相关文章:

algorithm - 每次按键后进行文本比较的工具/算法

c - 在 C 中操作字符串的两种方式有什么区别?

javascript - 在应用 html.replace() 之前将正则表达式结果转换为小写

在 main 中调用函数,使用 strtok 分隔字符串(指针问题)

algorithm - 证明递归行列式的复杂性

java - 用于安排几何形状和面积的 Optaplanner

algorithm - 使用多寄存器处理大量数据

c++ - c_str 是否总是返回相同的地址?

以两个相似数字开头的 8 位数字的正则表达式?

c - 查找两个数组中每个索引处不匹配的元素