力扣动态规划-3【算法学习day.97】
前言
###我做这类文章一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?建议灵神的题单和代码随想录)和记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!
习题
1.打家劫舍
题目链接:198. 打家劫舍 - 力扣(LeetCode)
题面:代码:
class Solution {
int[] nums;
int[] flag;
public int rob(int[] nums) {
this.nums = nums;
flag = new int[nums.length];
Arrays.fill(flag,-1);
return recursion(nums.length - 1);
}
public int recursion(int i){
if(i<0)return 0;
if(flag[i]!=-1){
return flag[i];
}
return flag[i] = Math.max(recursion(i-1),recursion(i-2)+nums[i]);
}
}
后言
上面是动态规划相关的习题,共勉