如何测试一个字符串是否是另一个字符串的子序列?
这是一个弱于子串的条件。例如,“伊朗”不是“爱尔兰”的子串,但它是一个子串IRelANd
。区别在于子序列不必是连续的。
更多示例:
INDonesIA
rOMANia
MALawI
我的朋友喜欢文字游戏。昨天我们玩了“国与国之间的游戏”。我想知道我们是否遗漏了几对。
编辑:如果你不熟悉子序列的数学定义
A subsequence is a sequence that can be derived from another sequence by deleting some elements without changing the order of the remaining elements
是的
继续寻找你潜在子序列的下一个字符,从最后一个找到的字符开始。一旦在字符串的其余部分中找不到其中一个字符,它就不是子序列。如果所有字符都可以这样找到,则为:
也适用于任何iterables:
更新
斯特凡·波克曼提出了这个建议。
这两个版本都使用迭代器;迭代器产生在上一次迭代中没有产生的项。
例如:
相关问题 更多 >
编程相关推荐