diff --git a/cediackermann/challenges/houseRobber/BUILD b/cediackermann/challenges/houseRobber/BUILD new file mode 100644 index 0000000..f67f23f --- /dev/null +++ b/cediackermann/challenges/houseRobber/BUILD @@ -0,0 +1,11 @@ +load("@rules_java//java:defs.bzl", "java_binary") + +package(default_visibility = ["//visibility:public"]) + +java_binary( + name = "houseRobber", + main_class = "cediackermann.challenges.houseRobber.Main", + srcs = glob(["*.java"]), + deps = [ + ], +) diff --git a/cediackermann/challenges/houseRobber/Main.java b/cediackermann/challenges/houseRobber/Main.java new file mode 100644 index 0000000..b5b94e4 --- /dev/null +++ b/cediackermann/challenges/houseRobber/Main.java @@ -0,0 +1,11 @@ +package cediackermann.challenges.houseRobber; + +public class Main { + public static void main(String[] args) { + Solution sol = new Solution(); + System.out.println( + sol.rob(new int[]{2,7,9,3,1}) + ); + } + +} diff --git a/cediackermann/challenges/houseRobber/Solution.java b/cediackermann/challenges/houseRobber/Solution.java new file mode 100644 index 0000000..0b66ab3 --- /dev/null +++ b/cediackermann/challenges/houseRobber/Solution.java @@ -0,0 +1,20 @@ +package cediackermann.challenges.houseRobber; + + +class Solution { + public int rob(int[] nums) { + int n = nums.length; + if (n == 1) { + return nums[0]; + } + int[] loot = new int[n]; + loot[0] = nums[0]; + loot[1] = Math.max(nums[0], nums[1]); + for (int i = 2; i < n; i++) { + loot[i] = Math.max(loot[i - 1], nums[i] + loot[i - 2]); + System.out.println(loot[i]); + } + + return loot[n - 1]; + } +}