循环数组那题---打家劫舍二-----四贪心(两个变量负责从头开始,两个变量负责从索引1开始) var rob = function(nums) { if(!nums.length) return 0; //易漏:只有一个元素的情况 if(nums.length===1) return nums[0]; let no1=0,no2=0,steal1=-Number.MAX_VALUE,steal2=nums[0]; for(let i=1,len=nums.length;i<len;i++){ //用ES6的解构赋值语法 //不偷(懒得动;刚偷过现在不能偷) //偷(懒得动;刚没偷过现在可偷)) [no1,steal1]=[Math.max(no1,steal1),Math.max(steal1,no1+nums[i])]; [no2,steal2]=[Math.max(no2,steal2),Math.max(steal2,no2+nums[i])]; } return Math.max(no1,no2,steal1); };