Function malachite_base::slices::min_repeating_len
source · [−]Expand description
Given a slice with nonzero length $\ell$, returns the smallest $n$ such that the slice consists of $n/\ell$ copies of a length-$\ell$ subslice.
Typically $\ell = n$.
Worst-case complexity
$T(n) = O(n^{1+\epsilon})$ for all $\epsilon > 0$
$M(n) = O(n)$
where $T$ is time, $M$ is additional memory, and $n$ is xs.len()
.
Panics
Panics if xs
is empty.
Examples
use malachite_base::slices::min_repeating_len;
assert_eq!(min_repeating_len(&[1, 2, 1, 2, 1, 2]), 2);
assert_eq!(min_repeating_len(&[1, 2, 1, 2, 1, 3]), 6);
assert_eq!(min_repeating_len(&[5, 5, 5]), 1);