打家劫舍二就是在打家劫舍一的基础上,分了两种情况
一种是从nums【0,nums.length-1】
一种是从nums【1,nums.length】
两种求最大值
function getMaxMoney(start,end,nums){
let length = nums.length
let prev = nums[start] , curr = Math.max(nums[start],nums[start+1])
let index = start + 2
while(index < end){
let temp = prev
prev = curr
curr = Math.max(temp+nums[index],curr)
index++
}
return curr
}
function rob( nums ) {
// write code here
let length = nums.length
if(length === 1) return num[0]
if(length === 2) return Math.max(nums[0],nums[1])
return Math.max(getMaxMoney(0,length-1,nums),getMaxMoney(1,length,nums))
}
module.exports = {
rob : rob
};

京公网安备 11010502036488号