From bfe400502022481d2073c2e7661ec855f64ead84 Mon Sep 17 00:00:00 2001 From: aadil42 <77232799+aadil42@users.noreply.github.com> Date: Tue, 15 Aug 2023 18:29:20 +0530 Subject: [PATCH] Create code.js Added solution for house-robber-ii in js. Submission Link: https://leetcode.com/problems/house-robber-ii/submissions/1022061830/ --- .../006. House Robber II/code.js | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 02. Algorithms/09. Dynamic Programming/006. House Robber II/code.js diff --git a/02. Algorithms/09. Dynamic Programming/006. House Robber II/code.js b/02. Algorithms/09. Dynamic Programming/006. House Robber II/code.js new file mode 100644 index 00000000..30087e06 --- /dev/null +++ b/02. Algorithms/09. Dynamic Programming/006. House Robber II/code.js @@ -0,0 +1,31 @@ +/** + * @param {number[]} nums + * @return {number} + */ + + +var rob = function(nums) { + + if(nums.length === 1) return nums[0]; + + let includeFirst = preRob(nums.slice(1)); + let notIncludeFirst = preRob(nums.slice(0, nums.length - 1)); + return Math.max(includeFirst, notIncludeFirst); + +}; + +var preRob = function(nums) { + + let rob1 = 0; + let rob2 = 0; + + let temp = 0; + for(let i = 0; i < nums.length; i++) { + temp = Math.max(rob1 + nums[i], rob2); + rob1 = rob2; + rob2 = temp; + } + + + return rob2; +}