aboutsummaryrefslogtreecommitdiff
path: root/house_robber.rs
diff options
context:
space:
mode:
Diffstat (limited to 'house_robber.rs')
-rw-r--r--house_robber.rs18
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
+}