rustgym 0.2.0

rustgym solutions
Documentation
struct Solution;

impl Solution {
    fn max_score(s: String) -> i32 {
        let s: Vec<char> = s.chars().collect();
        let n = s.len();
        let mut zeros = vec![0; n + 1];
        for i in 0..n {
            zeros[i + 1] = zeros[i] + if s[i] == '0' { 1 } else { 0 };
        }

        let mut ones = vec![0; n + 1];
        for i in (0..n).rev() {
            ones[i] = ones[i + 1] + if s[i] == '1' { 1 } else { 0 };
        }
        let mut res = 0;
        for i in 1..n {
            res = res.max(zeros[i] + ones[i]);
        }
        res
    }
}

#[test]
fn test() {
    let s = "011101".to_string();
    let res = 5;
    assert_eq!(Solution::max_score(s), res);
    let s = "00111".to_string();
    let res = 5;
    assert_eq!(Solution::max_score(s), res);
    let s = "1111".to_string();
    let res = 3;
    assert_eq!(Solution::max_score(s), res);
}