rustgym 0.2.0

rustgym solutions
Documentation
struct Solution;

impl Solution {
    fn find_poisoned_duration(time_series: Vec<i32>, duration: i32) -> i32 {
        let n = time_series.len();
        if n == 0 {
            return 0;
        }
        let mut start = time_series[0];
        let mut res = 0;
        for i in 1..n {
            let end = time_series[i];
            if start + duration > end {
                res += end - start;
            } else {
                res += duration;
            }
            start = end;
        }
        res += duration;
        res
    }
}

#[test]
fn test() {
    let time_series = vec![1, 4];
    let duration = 2;
    let res = 4;
    assert_eq!(Solution::find_poisoned_duration(time_series, duration), res);
    let time_series = vec![1, 2];
    let duration = 2;
    let res = 3;
    assert_eq!(Solution::find_poisoned_duration(time_series, duration), res);
}