algorithm - 字符串算法作业/面试类问题

标签 algorithm string pseudocode

假设我们需要字符串 A 和 B。任务是在字符串 B 中插入任何需要的字母,以便最终得到字符串 A。

例如:

A - This is just a simple test 
B - is t a sim te

因此,如果我们像这样查看字符串 A:

--is -- ---t a sim--- te--

或者:

---- is ---t a sim--- te--

很明显,我们可以从字符串 B 构建字符串 A,并且输出应该采用上面的书写格式(两个答案都是正确的)。

你能想出一种算法来在合理的时间内解决这个问题吗?想出蛮力解决方案很容易,但我需要一些比这更复杂的东西。

最佳答案

你可以采取Levenshtein distance algorithm作为基础并扩展它以记住添加/删除/替换的字符。这将以线性时间运行。

关于algorithm - 字符串算法作业/面试类问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5529706/

相关文章:

algorithm - 从两个长度为 n 的数字序列中找出所有可能的和,并在 O(n) 时间内将它们插入到哈希表中?

algorithm - splay 树中值的范围函数?

java - 在 Java 中构建 SQL 字符串的最简洁方法

c - 生产者消费者同步的伪代码

java - Arrays.sort() 与使用 map 排序

r - 使用包 ‘nVennR’ 转换数据以创建广义的准比例维恩图

algorithm - 如何在 360° 视频中找到具有相同颜色的像素的质心?

algorithm - 如何在面试中使用数据结构

ios - 在 iOS 中将字符串转换为十六进制?

c++ - 无需显式类型转换的运算符重载