我有一大組字符串。我想將字符串劃分爲以下子集:用於將一組字符串劃分爲大小相同的最小集合的算法
- 子集中的每個項目共享一個或多個連續字符。
- 定義子集的共享連續字符對於該組子集是唯一的(即,共享字符足以定義與其他子集處於互斥關係的字符串子集)。
- 子集的大小大致相同。
- 生成的子集集合是符合上述條件所需的最小子集數。
例如給下面的一組名字:
艾倫,拉里,阿爾弗雷德,芭芭拉,阿方斯·卡爾
我可以把這個集分成大小相同的兩個子集。由連續的字符「AL」定義的子集中1將是
艾倫,阿爾弗雷德,阿爾
子集2由連續的字符定義的AR將是
拉里,巴巴拉,卡爾。
我正在尋找一種算法,可以對任何任意字符串進行此操作。得到的子集集合不必等於2,但它應該是最小集合,並且結果子集應該大致相等。
Elliott
對於子集,連續字符總是必須位於成員字符串的開頭嗎? – 2012-04-05 01:11:00
不可以。連續字符可以位於字符串中的任何位置。 – Elliott 2012-04-05 01:21:24