rustgym 0.2.0

rustgym solutions
Documentation
struct Solution;

impl Solution {
    fn binary_gap(n: i32) -> i32 {
        let mut max = 0;
        let mut prev: Option<usize> = None;
        for i in 0..32 {
            let bit = 1 << i;
            if n & bit != 0 {
                if let Some(j) = prev {
                    max = usize::max(i - j, max);
                }
                prev = Some(i);
            }
        }
        max as i32
    }
}

#[test]
fn test() {
    assert_eq!(Solution::binary_gap(22), 2);
    assert_eq!(Solution::binary_gap(5), 2);
    assert_eq!(Solution::binary_gap(6), 1);
    assert_eq!(Solution::binary_gap(8), 0);
}