We describe a RAM algorithm computing all runs (maximal repetitions) of a given string of length n over a general ordered alphabet in O(nlog32n) time and linear space. Our algorithm outperforms all known solutions working in Θ(nlogσ) time provided σ=nΩ(1), where σ is the alphabet size. We conjecture that there exists a linear time RAM algorithm finding all runs.
@article{arxiv.1507.01231,
title = {Computing Runs on a General Alphabet},
author = {Dmitry Kosolobov},
journal= {arXiv preprint arXiv:1507.01231},
year = {2015}
}