我需要表示與下面的非規範操作一組序列(全部相同,已知,長度)的數據結構序列:求全部對,在恰好一個位置上不同
找到兩個恰好在一個索引處不同的序列。 (或建立,沒有這樣的一對的存在。)
如果N
是序列的數目,有一個明顯的O(N*M*M)
算法對序列並M
的長度。我想知道是否有更高效地解決這個問題的標準方法。如果需要,我願意應用預處理。
獎勵分數如果不是返回一對,算法會返回所有序列,這些序列在同一點上有所不同。
備選地,我也有興趣在一個解決方案,其中,我可以有效地檢查一個特定序列是否在一個索引的不同之從在所述組的任何序列。如果有幫助,我們可以假定在該集合中,沒有兩個序列具有該屬性。
編輯:你可以假設N
是相當小的。通過這個,我的意思是改進如O(log(N)*M*M)
對我的用例來說並不是很有用。
我們可以假設序列包含整數嗎? – IVlad 2013-05-02 20:23:15
@IVlad是的,如果有幫助。在我的情況下,我碰巧擁有一個完美的散列函數(對於元素,而不是序列).. – Philippe 2013-05-02 22:31:42