part09专题

java算法day48 | 动态规划part09 ● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III

198.打家劫舍 class Solution {public int rob(int[] nums) {if(nums.length==0) return 0;if(nums.length==1) return nums[0];int[] dp=new int[nums.length];dp[0]=nums[0];dp[1]=Math.max(nums[1],nums[0]);for(i

Day23|二叉树part09:669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树、总结篇

669. 修剪二叉搜索树 一刷完全没有思路,现在有点思路了,但是还是独立写不出来。 class Solution {public TreeNode delete(TreeNode node, int low, int high){if(node == null){return null;}if(node.val < low){return delete(node.right, low, hig

代码随想录算法训练营day47|第九章 动态规划part09:198.打家劫舍、213.打家劫舍II、337.打家劫舍III

目录 打家劫舍是DP解决的经典题目,今天就是打家劫舍的一天,这个系列不算难,大家可以一口气拿下。 198.打家劫舍   213.打家劫舍II   337.打家劫舍III   198.打家劫舍   视频讲解:动态规划,偷不偷这个房间呢?| LeetCode:198.打家劫舍_哔哩哔哩_bilibili 代码随想录 首先,dp[i]表示考虑下标i(包括i)以内的房屋,最多可以偷窃的金额。如果

代码随想录算法训练营day 23|第六章 二叉树part09

669. 修剪二叉搜索树  这道题目比较难,比 添加增加和删除节点难的多,建议先看视频理解。 题目链接/文章讲解: 代码随想录 视频讲解: 你修剪的方式不对,我来给你纠正一下!| LeetCode:669. 修剪二叉搜索树_哔哩哔哩_bilibili 递归的做法是将首先确定当前节点的值是否小于左边界,如果小于左边界,那么就给它的祖先节点返回当前节点的右孩子(注意不是直接返回右孩子,而是它

代码随想录算法训练48 | 动态规划part09

今天就是打家劫舍的一天,这个系列不算难,大家可以一口气拿下。  198.打家劫舍   视频讲解:动态规划,偷不偷这个房间呢?| LeetCode:198.打家劫舍_哔哩哔哩_bilibili 代码随想录  213.打家劫舍II   视频讲解:动态规划,房间连成环了那还偷不偷呢?| LeetCode:213.打家劫舍II_哔哩哔哩_bilibili 代码随想录  337.打家劫舍III

代码随想录算法训练营第四十八天【动态规划part09】 | 198.打家劫舍、213.打家劫舍II、337.打家劫舍III

198.打家劫舍 题目链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 求解思路: 当前房屋偷与不偷取决于前一个房屋是否被偷了 动规五部曲 确定dp数组及其下标含义:考虑下标i(包括i)以内的房屋,最多可以偷的金额为dp[i]确定递归公式:如果前一个屋子被抢了,那么现在这间屋子不能抢,即dp[i] = dp[i-1];如果前一间屋子没被抢,那么这件屋子可以抢,即dp