rustgym 0.2.0

rustgym solutions
Documentation
struct Solution;

impl Solution {
    fn nth_ugly_number(n: i32) -> i32 {
        let n = n as usize;
        let mut ugly: Vec<i32> = vec![1];
        let mut i = 0;
        let mut j = 0;
        let mut k = 0;
        while ugly.len() <= n {
            let min = vec![ugly[i] * 2, ugly[j] * 3, ugly[k] * 5]
                .into_iter()
                .min()
                .unwrap();
            ugly.push(min);
            if ugly[i] * 2 == min {
                i += 1;
            }
            if ugly[j] * 3 == min {
                j += 1;
            }
            if ugly[k] * 5 == min {
                k += 1;
            }
        }
        ugly[n - 1]
    }
}

#[test]
fn test() {
    let n = 10;
    let res = 12;
    assert_eq!(Solution::nth_ugly_number(n), res);
}