string - 最小汉明距 ionic 向量

标签 string algorithm time-complexity suffix-tree hamming-distance

U小字母0, 1A, C, G, T , k <= n .

我想找到之间的最小汉明距离 u = (u_1,...,u_k)v = (v_1,...,v_n) 的连续子序列长度k 及时O(n log n) .

这可能吗?

感谢您的帮助!

最佳答案

对于字母表{1, -1},多项式相乘

(u_k + u_{k-1} x + u_{k-2} x^2 + ... + u_1 x^{k-1})

(v_1 + v_2 x + v_3 x^2 + ... + v_n x^{n-1}).

乘积中x^i的系数是u_1 ... u_kv_{i-k之间汉明距离的简单仿射函数+2} ... v_{i+1}.

我们可以通过嵌入其他字母表来对它们进行编码,从而计算出汉明距离,例如,

A -> 0000
C -> 0011
G -> 0101
T -> 1001.

关于string - 最小汉明距 ionic 向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33721407/

相关文章:

c# - 为什么.Net中Exception类的ToString()方法不使用StringBuilder来构建字符串?

c# - 使用 contains 进行不区分大小写的字符串搜索

java - 如果顺序无关紧要,如何从具有 k 个元素的集合列表中创建具有 k+1 个元素的集合列表?

algorithm - 运行时间与日志总和成正比的算法的时间复杂度

c# - 递归 for 循环代码的时间复杂度

Android Eclipse - 尝试打开或编辑/res/values/strings.xml 时出错 - NullPointerException

C++ 和 SQLite - 如何执行由用户输入形成的查询?

python - 可扩展散列 - 最高有效位

algorithm - 使用分桶计数反转

java - 基数排序(java实现)复杂度