2011-09-04 58 views
0

我有一个单词数组,我需要弄清楚每个字母出现多少个单词。每个单词的次数并不重要,只有单词的数量。快速统计一个字母在一个字母中出现多少个单词

我只需要检查a-z,但由于单词数组可能一次很大(超过100,000),因此整个循环的26次迭代将花费太长的时间。

有什么更快的方法来检查这个? 260,000个回路对此太多了。

回答

2

您必须遍历所有单词,您可以使用count_chars为每个单词快速使用所有独特的字母......但除此之外,您可以做的不多。你可以测试所有的字母对一个单词str_splitarray_unique,或者你可以将单词拆分为字母并找到唯一的单词count_chars

编辑:如果你正在寻找绝对表现,那么你只需要尝试所有不同的组合。从算法的角度来看,如果你的数据是动态的或“未知的”,没有多少人能做到。

+0

编号也与array_filter函数作为选项,但我认为这将是循环通过每个单词相同的性能。 – Ugleh

相关问题