企业网站建设的过程,上海专业建站公,怎样给WordPress加更新密钥,为企业提供网站建设服务2023.8.19 打劫问题是经典的动态规划问题。先设一个dp数组#xff0c;dp[i]的含义为#xff1a;前 i 个房屋能盗取的最高金额。 每间房屋无非就是偷#xff0c;或者不偷这两种情况#xff0c;于是可以写出递推公式#xff1a; …2023.8.19 打劫问题是经典的动态规划问题。先设一个dp数组dp[i]的含义为前 i 个房屋能盗取的最高金额。 每间房屋无非就是偷或者不偷这两种情况于是可以写出递推公式 dp[i] max(dp[i-2]nums[i-1] , dp[i-1]); 由递推公式发现需要初始化dp[0]和dp[1]初始化完之后再对房屋进行遍历赋值即可。附上我的草稿图以供参考
代码如下
class Solution {
public:int rob(vectorint nums) {vectorint dp(nums.size()1);dp[0] 0;dp[1] nums[0];for(int i2; inums.size(); i){dp[i] max(dp[i-2]nums[i-1] , dp[i-1]);}return dp[nums.size()];}
};