pub fn majority_element<I>(elements: I) -> Option<I::Item>Expand description
Returns the majority element of an iterator, if one exists.
This is an implementation of the MJRTY algorithm described by Boyer and Moore in “MJRTY - A Fast Majority Vote Algorithm.”
§Example
use rust_dsa::majority_element;
let ints = vec![1, 2, 1, 3, 1, 4, 3, 2, 1, 1, 1];
let winner = majority_element(ints.into_iter());
assert_eq!(winner, Some(1));
let strs = vec!["a", "c", "b", "a"];
let winner = majority_element(strs.into_iter());
assert_eq!(winner, None);