Leetcode 198 House Robber

1537 단어 LeetCode
You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security system connected and it will automatically contact the police if two adjacent houses were broken into on the same night.
Given a list of non-negative integers representing the amount of money of each house, determine the maximum amount of money you can rob tonight without alerting the police.
동적 계획:
수조 dp는 현재 주택에서 가장 많이 빼앗은 금액을 표시하며, 인접한 방을 빼앗을 수 없다는 것을 방지하기 위해서다.
그러므로 dp[i]=max(dp[i-2]+nums[i], dp[i-1])
var rob = function(nums) {

    if (nums.length === 0)

        return 0

    var dp = []

    dp[0] = nums[0]

    dp[1] = Math.max(nums[0],nums[1])

    for (var i=2;i<nums.length;i++)

        dp[i] = Math.max(dp[i-2]+nums[i],dp[i-1])

    return dp[nums.length-1]

}

좋은 웹페이지 즐겨찾기