Skip to content

Latest commit

 

History

History
27 lines (21 loc) · 773 Bytes

#92-专业盗贼.md

File metadata and controls

27 lines (21 loc) · 773 Bytes

题目描述:

你是一个盗窃专家,某一天晚上你要去盗窃某一条街道的一排房子。这些房子都有相连的防盗系统,如果你把相邻的两家都偷了那么就会触发报警器。

用一个数组来表示这些房子的金钱数量,请你完成 rob 函数,计算出在不触发报警器的情况下最多能偷多少钱。例如:

rob([1, 2, 3]) // => 4

参考答案:

const rob = (nums) => {
  if(nums.length === 0) return 0;
      nums.unshift(-Infinity);
      const len = nums.length;
    for(let i = 3; i < len; i++) {
      nums[i] += Math.max(nums[i-2], nums[i-3]);
    }
    return Math.max(nums[len -1], nums[len -2]);
}