我一直在試圖想到一種性能高效的方式來查找按索引分組的字符集中字符出現的聯合。像這樣的東西;查找按字符索引分組的多個字符串的聯合算法
s1 = "013965"
s2 = "015935"
s3 = "310012"
在下面的每個數字組中的所有字符串的字符指數n存在所得:
out = "[03][1][350][90][631][52]"
我已經想到了做這件事通過每個字符串迭代的非常簡單的方式,在每一個索引,同時將中間字符串存儲在數組中,然後迭代該數組以構建輸出值。然而,我認爲我的方法是一種非常低效的方式,與漸近最優解決方案相距甚遠。
通常情況下,最好是讓事情在功能上正確無誤,然後在獲得工作解決方案後再擔心性能問題。在做事情的時候,這種天真的方式經常幫助你看到可以輕鬆獲得收益的地方。 – Durandal
Google'profile matrix bioinformatics'。可能會給你一些想法。 –
我認爲你不可能比天真的方式做得更好,因爲通常你需要檢查所有字符串的所有位置(除非在位置k,所有數字0-9都已經發生)。想象一下,你所有的字符串都以4開頭,最後一個字符串以5開頭,然後你需要遍歷所有字符串的0位置,以免錯過最後一個字符串的5(與其他位置不同)。這同樣適用於每個職位。 –