pub fn calc_z_array<T: PartialEq>(s: &[T]) -> Vec<usize>