每日一题 198. 打家劫舍

难度:中等
每日一题 198. 打家劫舍_第1张图片
这是昨天的每日一题忘记做了,没想到正好是今天的题目的简化版,详细思路可以看http://t.csdn.cn/Smr0t

代码:

class Solution:
    def rob(self, nums: List[int]) -> int:
        if len(nums) == 1:
            return nums[0]
        
        a, b = nums[0], max(nums[0], nums[1])
        for i in range(2, len(nums)):
            a, b = b, max(b, a + nums[i])

        return max(a, b)

学习:不需要考虑 nums 的长度,a和b初值取零,从 nums[0] 开始遍历即可

你可能感兴趣的:(用Python刷力扣,算法,python,leetcode)