我正在尝试找到一种方法来查找连续出现的加扰文本中的特定单词。未找到的字符将有一个X
到位。
例如,假设字典单词列表是:
jane
john
brownbag
foo
youth
和乱码:
ofozlhuoyt => fooXXyouth
yuawbnrobgajen => XXbrownbagjane
janjeohn => (nothing since jane and john aren't consecutive)
我正在尝试的方法:
说,我有一个带有键的散列,a
其中z
设置为每个键的值。集合中的每个数字将表示包含特定字符的单词的索引。
从上面的例子:
{a: [0,2]}
{b: [2]}
{c: []}
{e: [0]}
{f: [3]}
{g: [2]}
{h: [1,4]}
{j: [0,1]}
...
{n: [0,1,2]}
{o: [1,2,3,4]}
{r: [2]}
{u: [4]}
{t: [4]}
{w: [2]}
{y: [4]}
...
{z: []}
准备好上述内容后,我们可以开始查看加扰文本的每个字符:
第一个字符串:ofozlhuoyt
o => 存在于 1、2、3 和 4 中
从 1 开始:简(长度 4)
得到 4 个字符:
ofoz
"jane".sort(false) == "ofoz".sort(false)?
如果为假:对 2 重复步骤 1 到 3 (john)
如果为真:将 foo 添加到好词列表中,并从第 0 步开始
z
有没有更好的方法来做到这一点?我觉得存在更好的数据结构来解决这样的问题,但我不知道该使用哪个..