rustgym 0.2.0

rustgym solutions
Documentation
struct Solution;

impl Solution {
    fn repeated_string_match(a: String, b: String) -> i32 {
        let mut s = String::new();
        let n = a.len();
        let m = b.len();
        if n == 0 || m == 0 {
            return -1;
        }
        let mut k = m / n;
        if k * n < m {
            k += 1;
        }
        for _ in 0..k {
            s += &a;
        }
        if s.contains(&b) {
            return k as i32;
        }
        s += &a;
        if s.contains(&b) {
            return (k + 1) as i32;
        }
        -1
    }
}

#[test]
fn test() {
    let a = "abcd".to_string();
    let b = "cdabcdab".to_string();
    assert_eq!(Solution::repeated_string_match(a, b), 3);
}