@@ -33,31 +33,33 @@ use ac_library::string::{lcp_array_arbitrary, suffix_array_manual};
3333/// // ||
3434/// // 2 nana 5
3535///
36- /// let suf_ary1 = SufAry::new(&s.chars().map(|c| c as usize).collect::<Vec<_>>(), 255);
37- /// let n = suf_ary1.sa.len();
38- /// assert_eq!(suf_ary1.sa, [5, 3, 1, 0, 4, 2]);
39- /// assert_eq!(suf_ary1.sa_inv, [3, 2, 5, 1, 4, 0]);
40- /// assert_eq!(suf_ary1.lcp, [1, 3, 0, 0, 2]);
41- ///
36+ /// // build from Vec
4237/// let a = [-4, 8, 1_000_000_000, 3];
4338/// let (a_comp, max_val) = compress(&a);
44- /// let suf_ary2 = SufAry::new(&a_comp, max_val);
39+ /// let suf_ary = SufAry::new(&a_comp, max_val);
40+ ///
41+ /// // build from String
42+ /// let suf_ary = SufAry::new(&s.chars().map(|c| c as usize).collect::<Vec<usize>>(), 255);
43+ /// let n = suf_ary.sa.len();
44+ /// assert_eq!(suf_ary.sa, [5, 3, 1, 0, 4, 2]);
45+ /// assert_eq!(suf_ary.sa_inv, [3, 2, 5, 1, 4, 0]);
46+ /// assert_eq!(suf_ary.lcp, [1, 3, 0, 0, 2]);
4547///
46- /// assert_eq!(suf_ary1 .len_lcp(1, 3), 3);
47- /// assert!(std::panic::catch_unwind(|| suf_ary1 .len_lcp(1, n)).is_err());
48+ /// assert_eq!(suf_ary .len_lcp(1, 3), 3);
49+ /// assert!(std::panic::catch_unwind(|| suf_ary .len_lcp(1, n)).is_err());
4850///
49- /// assert_eq!(suf_ary1 .cmp_sufs(1, 3), Ordering::Greater);
50- /// assert!(std::panic::catch_unwind(|| suf_ary1 .cmp_sufs(n, 2)).is_err());
51+ /// assert_eq!(suf_ary .cmp_sufs(1, 3), Ordering::Greater);
52+ /// assert!(std::panic::catch_unwind(|| suf_ary .cmp_sufs(n, 2)).is_err());
5153///
52- /// assert_eq!(suf_ary1 .cmp_substrs(1..4, 3..6), Ordering::Equal);
53- /// assert!(std::panic::catch_unwind(|| suf_ary1 .cmp_substrs(3..4, n..n)).is_err());
54+ /// assert_eq!(suf_ary .cmp_substrs(1..4, 3..6), Ordering::Equal);
55+ /// assert!(std::panic::catch_unwind(|| suf_ary .cmp_substrs(3..4, n..n)).is_err());
5456///
55- /// assert_eq!(suf_ary1 .find_str(&"ana".chars().map(|c| c as usize).collect::<Vec<_ >>()), 1..3);
56- /// assert_eq!(suf_ary1 .find_str(&[]), 0..n);
57+ /// assert_eq!(suf_ary .find_str(&"ana".chars().map(|c| c as usize).collect::<Vec<usize >>()), 1..3);
58+ /// assert_eq!(suf_ary .find_str(&[]), 0..n);
5759///
58- /// assert_eq!(suf_ary1 .find_substr(1..4), 1..3);
59- /// assert_eq!(suf_ary1 .find_substr(1..1), 0..n);
60- /// assert!(std::panic::catch_unwind(|| suf_ary1 .find_substr(n..n)).is_err());
60+ /// assert_eq!(suf_ary .find_substr(1..4), 1..3);
61+ /// assert_eq!(suf_ary .find_substr(1..1), 0..n);
62+ /// assert!(std::panic::catch_unwind(|| suf_ary .find_substr(n..n)).is_err());
6163/// ```
6264pub struct SufAry {
6365 n : usize ,
0 commit comments