class Ideone {
public static void main
(String[] args
) { System.
out.
println(modeCalc
(1,
2,
3,
3,
4,
4,
4,
5)); // 4 System.
out.
println(modeCalc
(1,
2,
2,
2,
4,
4,
4,
5)); // 2 (or 4 but it finds the first one) }
public static double modeCalc(double... numRead) {
int maxCount = 0, count = 0;
for (int i = 0; i < numRead.length; i++) {
if (i > 0 && numRead[i] != numRead[i - 1])
count = 0;
if (++count > maxCount) {
maxValue = numRead[i];
maxCount = count;
}
}
return maxValue;
}
}
Y2xhc3MgSWRlb25lIHsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB7CgkJU3lzdGVtLm91dC5wcmludGxuKG1vZGVDYWxjKDEsIDIsIDMsIDMsIDQsIDQsIDQsIDUpKTsgLy8gNAoJCVN5c3RlbS5vdXQucHJpbnRsbihtb2RlQ2FsYygxLCAyLCAyLCAyLCA0LCA0LCA0LCA1KSk7IC8vIDIgKG9yIDQgYnV0IGl0IGZpbmRzIHRoZSBmaXJzdCBvbmUpCgl9CglwdWJsaWMgc3RhdGljIGRvdWJsZSBtb2RlQ2FsYyhkb3VibGUuLi4gbnVtUmVhZCkgewoJCWRvdWJsZSBtYXhWYWx1ZSA9IERvdWJsZS5OYU47CgkJaW50IG1heENvdW50ID0gMCwgY291bnQgPSAwOwoJCWZvciAoaW50IGkgPSAwOyBpIDwgbnVtUmVhZC5sZW5ndGg7IGkrKykgewoJCQlpZiAoaSA+IDAgJiYgbnVtUmVhZFtpXSAhPSBudW1SZWFkW2kgLSAxXSkKCQkJCWNvdW50ID0gMDsKCQkJaWYgKCsrY291bnQgPiBtYXhDb3VudCkgewoJCQkJbWF4VmFsdWUgPSBudW1SZWFkW2ldOwoJCQkJbWF4Q291bnQgPSBjb3VudDsKCQkJfQoJCX0KCQlyZXR1cm4gbWF4VmFsdWU7Cgl9Cn0=