aboutsummaryrefslogtreecommitdiff
path: root/house_robber.rs
blob: ce4afd916b16aa339cd4e3b933b8ee451d4d3ab5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct Solution;

impl Solution {
    pub fn rob(nums: Vec<i32>) -> i32 {
        let (mut prev, mut prev2) = (0,0);
        for n in nums {
            let curr = std::cmp::max(n + prev2, prev);
            prev2 = prev;
            prev = curr;
        }
        prev
    }
}

fn main() {
    let nums = vec![1,2,3,1];
    print!("{}", Solution::rob(nums)); //expect 4
}