当前位置: 首页 > news >正文

网站设计制作公司推荐seo网站排名助手

网站设计制作公司推荐,seo网站排名助手,网络规划的研究内容,开发定制软件学习目标: 动态规划五部曲: ① 确定dp[i]的含义 ② 求递推公式 ③ dp数组如何初始化 ④ 确定遍历顺序 ⑤ 打印递归数组 ---- 调试 引用自代码随想录! 60天训练营打卡计划! 学习内容: 198.打家劫舍 动态规划五步曲&a…

学习目标:

动态规划五部曲:
① 确定dp[i]的含义
② 求递推公式
③ dp数组如何初始化
④ 确定遍历顺序
⑤ 打印递归数组 ---- 调试
引用自代码随想录!

60天训练营打卡计划!

学习内容:

198.打家劫舍

  • 动态规划五步曲:
    ① 确定dp[i]的含义 : 包含 下标i 偷得最大的金币数。
    ② 求递推公式 : dp[i] = max(dp[i-2] + nums[i] , dp[i-1])
    偷 i:dp[i-2] + nums[i]
    不偷 i:dp[i-1]
    ③ dp数组如何初始化 : dp[0] = nums[0] dp[1] = max(nums[0], nums[1])
    ④ 确定遍历顺序 : 从前向后
// 动态规划
class Solution {public int rob(int[] nums) {int size = nums.length;int[] dp = new int[size];// 初始化dp[0] = nums[0];if(size > 1)dp[1] = Math.max(nums[0], nums[1]);// 递归逻辑for(int i = 2; i < size; i++){dp[i] = Math.max(dp[i-1], dp[i-2]+nums[i]);}return dp[size-1];}
}

213.打家劫舍II

  • 给定的数组连城环啦。
  • 动态规划五步曲:
    ① 确定dp[i]的含义 :包含 下标i 偷得最大的金币数。
    ② 求递推公式 : dp[i] = max(dp[i-2] + nums[i] , dp[i-1])
    偷 i:dp[i-2] + nums[i]
    不偷 i:dp[i-1]
    ③ dp数组如何初始化 : dp[start] = nums[start]
    dp[start+1] = Math.max(nums[start],nums[start+1])
    ④ 确定遍历顺序 : 从前向后
class Solution {public int robAsist(int[] nums, int start, int end) {// 包含 物品i 在内的最大的金币数。int[] dp = new int[end];// 初始化dp[start] = nums[start];dp[start+1] = Math.max(nums[start],nums[start+1]);// 递归逻辑for(int j = start+2; j < end; j++){dp[j] = Math.max(dp[j-1], dp[j-2]+nums[j]);}return dp[end-1];}public int rob(int[] nums) {if(nums.length == 1)   return nums[0];if(nums.length == 2)   return nums[0] > nums[1] ? nums[0] : nums[1];int len = nums.length;//  因为是环,有两种情况// 一、不选择头节点,这样就可以选尾节点// 二。不选择尾节点,这样就可以选头节点// 且规则是左闭右开return Math.max(robAsist(nums, 0, len - 1), robAsist(nums, 1, len));}
}

337.打家劫舍 III

  • 树形的数据结构。(后序遍历 – 左右中)
  • 递归三部曲:
    递归函数的传入参数和返回值;
    递归函数的结束条件;
    递归函数的最小逻辑。
  • 动态规划五步曲:
    ① 确定dp[i]的含义 : dp[0] : 不偷当前节点的最大金币数 dp[1]:偷当前节点的最大金币数
    ② 求递推公式 : 递归传给上一层
    偷根节点: dp[1] = node.val + leftdp[0] + rightdp[0]
    不偷根节点: dp[0] = max(leftdp[0],leftdp[1]) + max(rightdp[0],rightdp[1])
    ③ dp数组如何初始化 : dp[0] = 0 dp[1] = 0
    ④ 确定遍历顺序 : 从叶子节点到根节点
/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {// 递归函数的返回值是一维数组。public int[] robTree(TreeNode node) {// 递归函数的结束条件if(node == null) return new int[]{0,0};// 递归函数的最小逻辑int[] leftdp = robTree(node.left);int[] rightdp = robTree(node.right);// 不偷根节点int val1 = Math.max(leftdp[0], leftdp[1]) + Math.max(rightdp[0], rightdp[1]);// 偷根节点int val2 = node.val + leftdp[0] + rightdp[0];return new int[]{val1, val2};}public int rob(TreeNode root) {int[] dp = robTree(root);return dp[0] > dp[1] ? dp[0] : dp[1];}
}

学习时间:

  • 上午两个半小时,整理文档半小时。
http://www.jinmujx.cn/news/113032.html

相关文章:

  • 免费注册企业网站苏州手机关键词优化
  • 知名高端网站建设公司广州网站制作实力乐云seo
  • 信息服务类网站怎么做网络培训系统
  • 百度网站怎么做视频播放器网络营销平台排名
  • 公司网站建设精英免费个人网站怎么建立
  • 如何做酒网站企业产品推广策划方案
  • 什么网站做批发吸引客流的25个技巧
  • 自己的电脑可以做网站服务器吗网站优化方案范文
  • wordpress手机中文版下载windows优化大师怎么样
  • 重庆市建设厅网站搜索引擎站长平台
  • 唯品会网站建设特色seo知识点
  • 做网站多少钱 优帮云广告投放运营主要做什么
  • 网站结构图军事网站大全军事网
  • 网站投放广告多少钱怎么联系百度人工客服
  • 网站建设设湖南长沙关键词推广电话
  • 济南市人民政府门户网站哪里有学市场营销培训班
  • seo实战教程seo排名技术软件
  • 动态网站开发技术 百度百科怎么做电商创业
  • 网站建设开发教程新闻头条最新
  • 做相亲网站网站推广的案例
  • 建站之星登录关键词优化平台有哪些
  • 莱芜在线话题莱芜拉呱seo软件推广
  • 做域名交易网站昆明网络推广
  • 网络广告发布的形式主要包括有实力的网站排名优化软件
  • 为网站添加注册功能seo3的空间构型
  • 做网站用哪个服务器不用备案手机优化大师官方免费下载
  • 织梦做的网站后台登录技能培训有哪些科目
  • 诀窍的网站it培训机构培训费用
  • 一个网站备案两个域名吗著名的营销成功的案例
  • 网站建设 产品拍照网站开发技术有哪些