Function nekolib::algo::majority

source ·
pub fn majority<T: Eq>(buf: &[T]) -> Option<&T>
Expand description

Boyer–Moore’s majority vote algorithm。

過半数の出現数を持つ要素があれば、それを返す。

Idea

todo!()

Complexity

$O(n)$ time.

Examples

use nekolib::algo::majority;

assert_eq!(majority(&[1, 1, 3, 2, 1]), Some(&1));
assert_eq!(majority(&[9]), Some(&9));
assert_eq!(majority(&[6, 7]), None);
assert_eq!(majority::<i32>(&[]), None);