majority (hackage): The Boyer-Moore Majority Vote Algorithm determines if there in a list of votes is a candidate that holds more than half of the majority, and if so, finds this candidate. It does so in time linear in the length of the input list and constant memory. For a detailed description of the algorithm, see these papers:  Wim H. Hesselink, "The Boyer-Moore Majority Vote Algorithm", 2005;  Robert S. Boyer and J. Strother Moore, "MJRTY - A Fast Majority Vote Algorithm", 1982.
Keywords: algorithms|library|public-domain