rustgym 0.2.0

rustgym solutions
Documentation
struct Solution;

impl Solution {
    fn min_flips(target: String) -> i32 {
        let n = target.len();
        let s: Vec<char> = target.chars().collect();
        let mut res = 0;
        let mut i = 0;
        let mut prev = '0';
        loop {
            while i < n && s[i] == prev {
                i += 1;
            }
            if i == n {
                break;
            }
            prev = s[i];
            res += 1;
        }
        res
    }
}

#[test]
fn test() {
    let target = "10111".to_string();
    let res = 3;
    assert_eq!(Solution::min_flips(target), res);
    let target = "101".to_string();
    let res = 3;
    assert_eq!(Solution::min_flips(target), res);
    let target = "00000".to_string();
    let res = 0;
    assert_eq!(Solution::min_flips(target), res);
    let target = "001011101".to_string();
    let res = 5;
    assert_eq!(Solution::min_flips(target), res);
}