可能重复:
发现最大重复数组中的元素
如果有一个字流,与具有51%以上的发生率一个字,我们怎么能找到,如果只字符串最频繁的字,和一个int可以同时存储在存储器中,以帮助我们找到它。
我们只能单次访问每一个字,因为这是一个流。
没有特定的语言是必要的,但是这主要是打算与Java的初衷。
另外我不要求代码,只是这个想法。 :)
可能重复:
发现最大重复数组中的元素
如果有一个字流,与具有51%以上的发生率一个字,我们怎么能找到,如果只字符串最频繁的字,和一个int可以同时存储在存储器中,以帮助我们找到它。
我们只能单次访问每一个字,因为这是一个流。
没有特定的语言是必要的,但是这主要是打算与Java的初衷。
另外我不要求代码,只是这个想法。 :)
为了完整起见,在提出的算法的Java实现我对准的重复 ,应用于例如:
public static void main(String[] args) throws InterruptedException {
List<String> list = Arrays.asList("a", "b", "c", "a", "d", "e", "a", "a", "b", "b", "a");
int counter = 0;
String mostFrequentWord = "";
for (String streamed : list) {
if (streamed.equals(mostFrequentWord)) {
counter++;
} else if (counter == 0) {
mostFrequentWord = streamed;
counter = 1;
} else {
counter--;
}
}
System.out.println(mostFrequentWord);
}