对于这题,我们DP[i]数组的意思应该是打劫到第i家的最优解。很明显,如果打劫一家人,由于题目限制,并不能打劫上一家人,但却可以获得这一家的现金,得出: 如果不打劫当前这一家人,那我们就可以获得dp[i-1]的收益.愣着干嘛,求最大值啊!这不就出来了吗?上代码!(c++) class Solution { public: int rob(vector<int>& nums) { int dp[nums.size()+1]; for(int i=0;i<=nums.size();i++)dp[i]=0; dp[1]...