ios - 将 NSStrings 与 NSArray 中的单词匹配的最快方法
<p><p>我有一个超过 2000 个单词的 NSArray 以及同样长的分数列表。我想遍历用户输入的句子/文本文件中的每个单词,并为每个单词获取列表中存在的每个单词的分数。以下是我目前这样做的方式,但我怀疑这是最快的方式。我的问题是,是否有更快的方法来完成我想要完成的工作?</p>
<pre><code>)
options:NSStringEnumerationByWords | NSStringEnumerationLocalized
usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop){
NSUInteger index=;
if (index!=NSNotFound) {
double score=scoreArray;
do something with the score
}
}];
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>2000 是一个很小的数组。在你走远之前,<a href="http://c2.com/cgi/wiki?PrematureOptimization" rel="noreferrer noopener nofollow">read Knuth's view about premature optimization</a> .看到明显的问题后,努力加快速度。如果你达到了这一点,这听起来确实是 NSMutableDictionary 的一个很好的应用程序。它可以有 2k 个单词键,进行(类似 NSSet)的查找,并保留关联的值(应用中的“分数”)。</p>
<p>所以对于文件中的每个单词:</p>
<pre><code>NSNumber *score = self.dictionary;
if (score) {
NSNumber *newScore = // whatever
self.dictionary = newScore;
}
</code></pre>
<p>如果顺序很重要,您可以随时进行事后排序。</p></p>
<p style="font-size: 20px;">关于ios - 将 NSStrings 与 NSArray 中的单词匹配的最快方法,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/25395717/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/25395717/
</a>
</p>
页:
[1]