动态规划(斐波那契系列)---强盗抢劫
Posted yjxyy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态规划(斐波那契系列)---强盗抢劫相关的知识,希望对你有一定的参考价值。
强盗抢劫
题目描述:
??抢劫一排住户,但是不能抢邻近的住户,求最大抢劫量。
思路分析:
??定义dp数组用来存储最大抢劫量,其中dp[i]表示抢到第i个住户时的最大抢劫量。由于不能抢邻近的住户,如果抢劫了第i-1个住户,那么就不能再抢劫第i个住户,所以 dp[ i ]=max(dp[i-1] , dp[i-2]+nums[ i ])
代码:
public int rob(int []nums)
int []dp=new int[nums.length+1];
if(nums==null||nums.length==0)
return 0;
dp[0]=0;
dp[1]=nums[0];
for(int i=2;i<=nums.length;i++)
dp[i]=Math.max(dp[i-1],dp[i-2]+nums[i-1]);
return dp[nums.length];
以上是关于动态规划(斐波那契系列)---强盗抢劫的主要内容,如果未能解决你的问题,请参考以下文章