相关疑难解决方法(0)

寻找子序列(非连续)

如果我有串needle,我想检查它是否连续为存在haystack,我可以使用:

if needle in haystack:
    ...
Run Code Online (Sandbox Code Playgroud)

在非连续子序列的情况下我可以使用什么?例:

>>> haystack = "abcde12345"
>>> needle1 = "ace13"
>>> needle2 = "123abc"
>>> is_subsequence(needle1, haystack)
True
>>> is_subsequence(needle2, haystack)  # order is important!
False
Run Code Online (Sandbox Code Playgroud)

python string

15
推荐指数
3
解决办法
1037
查看次数

如何检查一个数组是否是另一个数组的子序列?

我正在寻找不同的算法,包括递归和动态编程,检查一个arrayA是否是arrayB的子序列.例如,

arrayA = [1, 2, 3] 
arrayB = [5, 6, 1, 7, 2, 9, 3]

thus, arrayA is indeed a subsequence of arrayB. 
Run Code Online (Sandbox Code Playgroud)

我尝试了一些不同的搜索,但我似乎只能找到算法来计算最长的增长子序列.

algorithm recursion dynamic-programming subsequence

3
推荐指数
1
解决办法
1052
查看次数