我給出了一組N個單詞和一個整數K.如果兩個單詞具有完全相同的前k個字母和最後k個字母,則它們在同一組中。如果他們有超過k個字母相同或少於k個字母相同,那麼這些字不在同一組中。例如: 對於k = 3。單詞詞彙系列
「ABCDEFG」和「abczefg」是在同一組
「abcddefg」和「abcdzefg」不在同一組(前k + 1頁的信是相同的)
「ABC」和「ABC」處於同一組
一個單詞可以在多個組中。例如(K = 3):
「abczefg」和「abcefg」形成一個組
「abczaefg」和「abcefg」形成一個組
「abczaefg」和「abczefg」不在同一組(第一k + 1個字母相同)
該問題要求我查找包含最大字數的組數。
我想過使用一個Trie(或前綴樹),我認爲這是這個問題的正確的數據結構,但我不知道如何適應這個問題,因爲如果2個單詞有超過k個相同的字母不在同一組中使我感到困惑。我的ideea的複雜度爲O(N * N * K),並且考慮到N < = 10,000和K < = 100我認爲這個ideea不夠快。我想向你解釋我的想法,但即使對我來說也不是很清楚,我甚至不知道它是否正確,所以我會跳過這一部分。
我的問題是,如果有一種方法,我可以使用更快的算法解決這個問題,如果有這樣的算法,我請你稍微解釋一下。非常感謝您的幫助,如果我沒有清楚地說明問題,我很抱歉發生了一些嚴重的錯誤!