【发布时间】:2020-08-09 18:04:28
【问题描述】:
您好,我有一个简单的代码 sn-p,我在其中查找任意两个给定字符串 X 和 Y 之间所有公共子序列的长度。
m = len(X)
n = len(Y)
ACS = np.zeros([m+1, n+1], dtype = int)
#Computes lengths of ACS(All common substrings)
for i in range(m+1):
for j in range(n+1):
if X[i - 1] == Y[j - 1]:
ACS[i][j] = ACS[i - 1][j - 1] + 1
else:
ACS[i][j] = 0
嵌套循环很简单,只要在索引 i-1 和 j-1 处的两个字符串之间找到匹配项,它就会在 ACS 数组的 i,j 索引处添加 1,否则将其替换为零。
我的问题是使用 numpy 的数学函数可以更快地完成吗?
【问题讨论】:
-
如果您使用的是特定算法,也请提及
标签: python numpy dynamic-programming