【发布时间】:2013-04-04 07:53:44
【问题描述】:
我有一个包含许多英文单词的大文本文件。但是它也包含德语和法语单词。我需要捕获其中的所有英语单词。
我认为,首先我从磁盘读取所有文件并将其转换为数组,其次我将所有单词与 here 之类的 unix 英语词典匹配,但由于每个单词的大小,这不是一个好的解决方案文件。如果我这样做,复杂性会很高,我不希望这样。
你知道我如何用 Ruby 以一种简单的方式做到这一点吗?
【问题讨论】:
我有一个包含许多英文单词的大文本文件。但是它也包含德语和法语单词。我需要捕获其中的所有英语单词。
我认为,首先我从磁盘读取所有文件并将其转换为数组,其次我将所有单词与 here 之类的 unix 英语词典匹配,但由于每个单词的大小,这不是一个好的解决方案文件。如果我这样做,复杂性会很高,我不希望这样。
你知道我如何用 Ruby 以一种简单的方式做到这一点吗?
【问题讨论】:
您可以做的第一件事是将英语词典放入set(而不是数组)。这样,查找是 O(1),整体复杂度是 O(N) 而不是 O(NxM)。
【讨论】:
Set?