diff options
Diffstat (limited to 'house_robber.rs')
-rw-r--r-- | house_robber.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/house_robber.rs b/house_robber.rs new file mode 100644 index 0000000..ce4afd9 --- /dev/null +++ b/house_robber.rs @@ -0,0 +1,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 +} |