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

asp.net实用网站开发doc怎么引流怎么推广自己的产品

asp.net实用网站开发doc,怎么引流怎么推广自己的产品,国内做航模比较好的网站,中山外贸网站开发学习动态规划|不同路径、最小路径和、打家劫舍、打家劫舍iii 62 不同路径 动态规划,dp[i][j]表示从左上角到(i,j)的路径数量dp[i][j] dp[i-1][j] dp[i][j-1] import java.util.Arrays;/*** 路径数量* 动态规划,dp[i][j]表示从左上角到(i,j)的路径数量…

学习动态规划|不同路径、最小路径和、打家劫舍、打家劫舍iii

62 不同路径

在这里插入图片描述

  • 动态规划,dp[i][j]表示从左上角到(i,j)的路径数量
  • dp[i][j] = dp[i-1][j] + dp[i][j-1]

在这里插入图片描述

在这里插入图片描述

import java.util.Arrays;/*** 路径数量* 动态规划,dp[i][j]表示从左上角到(i,j)的路径数量* dp[i][j] = dp[i-1][j] + dp[i][j-1]*/
public class $62 {public int uniquePaths(int m, int n) {int[][] dp = new int[m][n];//边界for (int i = 0; i < m; i++) {dp[i][0] = 1;}for (int i = 0; i < n; i++) {dp[0][i] = 1;}for (int i = 1; i < m; i++) {for (int j = 1; j < n; j++) {dp[i][j] = dp[i-1][j] + dp[i][j-1];}}return dp[m-1][n-1];}public int uniquePaths2(int m, int n) {int[] dp = new int[n];Arrays.fill(dp, 1);for (int i = 1; i < m; i++) {for (int j = 1; j < n; j++) {dp[j] += dp[j-1];}}return dp[n-1];}
}
import java.util.Arrays;/*** 路径数量* 动态规划,dp[i][j]表示从左上角到(i,j)的路径数量* dp[i][j] = dp[i-1][j] + dp[i][j-1]*/
public class $62 {public int uniquePaths2(int m, int n) {int[] dp = new int[n];Arrays.fill(dp, 1);for (int i = 1; i < m; i++) {for (int j = 1; j < n; j++) {dp[j] += dp[j-1];}}return dp[n-1];}
}

64 最小路径和

在这里插入图片描述

  • 动态规划,dp[i][j]表示从左上角到(i,j)的最小路径和
  • grid[i][j] = Math.min(grid[i-1][j], grid[i][j-1]) + grid[i][j]

在这里插入图片描述

/*** 最小路径和* grid[i][j] = Math.min(grid[i-1][j], grid[i][j-1]) + grid[i][j]*/
public class $64 {public int minPathSum(int[][] grid) {for (int i = 0; i < grid.length; i++) {for (int j = 0; j < grid[i].length; j++) {if (i==0 && j==0) continue;else if (i!=0 && j==0) grid[i][j] = grid[i-1][j] + grid[i][j];else if (i==0 && j!=0) grid[i][j] = grid[i][j-1] + grid[i][j];else grid[i][j] = Math.min(grid[i-1][j], grid[i][j-1]) + grid[i][j];}}return grid[grid.length-1][grid[0].length-1];}
}

198 打家劫舍

在这里插入图片描述

  • 动态规划,nums[i]表示前i间房屋能偷窃到的最高总金额
  • nums[i] = Math.max(nums[i-1], nums[i-2]+nums[i]);

在这里插入图片描述

/*** 打家劫舍* 动态规划,nums[i]表示前i间房屋能偷窃到的最高总金额* nums[i] = Math.max(nums[i-1], nums[i-2]+nums[i]);*/
public class $198 {public int rob(int[] nums) {//注意特殊值0,1if (nums == null || nums.length == 0) {return 0;}if (nums.length == 1) {return nums[0];}//nums[1]为nums[0]、nums[1]的最大值nums[1] = Math.max(nums[0], nums[1]);//从nums[2]开始for (int i = 2; i < nums.length; i++) {nums[i] = Math.max(nums[i-1], nums[i-2]+nums[i]);}return nums[nums.length-1];}
}

337 打家劫舍iii

在这里插入图片描述

  • 树形动态规划
  • 我们可以用 f(o)表示选择 o节点的情况下,o节点的子树上被选择的节点的最大权值和;
  • g(o)表示不选择 o节点的情况下,o节点的子树上被选择的节点的最大权值和;
  • l 和 r代表 o 的左右孩子。
  • 当 o 被选中时:o 的左右孩子都不能被选中,
  •  故 o 被选中情况下子树上被选中点的最大权值和为 l和 r不被选中的最大权值和 + o的值
    
  •  f(o)=g(l)+g(r)+o.val
    
  • 当 o不被选中时,o的左右孩子可以被选中,也可以不被选中。
  •  对于 o的某个具体的孩子 x,它对 o 的贡献是 x被选中和不被选中情况下权值和的较大值。
    
  •  g(o)=max{f(l),g(l)} + max{f(r),g(r)}
    

在这里插入图片描述

import java.util.HashMap;
import java.util.Map;/*** 打家劫舍iii* 树形动态规划* 我们可以用 f(o)表示选择 o节点的情况下,o节点的子树上被选择的节点的最大权值和;* g(o)表示不选择 o节点的情况下,o节点的子树上被选择的节点的最大权值和;* l 和 r代表 o 的左右孩子。** 当 o 被选中时:o 的左右孩子都不能被选中,*      故 o 被选中情况下子树上被选中点的最大权值和为 l和 r不被选中的最大权值和 + o的值*      f(o)=g(l)+g(r)+o.val* 当 o不被选中时,o的左右孩子可以被选中,也可以不被选中。*      对于 o的某个具体的孩子 x,它对 o 的贡献是 x被选中和不被选中情况下权值和的较大值。*      g(o)=max{f(l),g(l)} + max{f(r),g(r)}*/
public class $337 {Map<TreeNode, Integer> f = new HashMap<>();Map<TreeNode, Integer> g = new HashMap<>();public int rob(TreeNode root) {process(root);return Math.max(f.getOrDefault(root, 0), g.getOrDefault(root, 0));}private void process(TreeNode root) {if (root == null) {return;}process(root.left);process(root.right);f.put(root, root.val + g.getOrDefault(root.left, 0) + g.getOrDefault(root.right, 0));g.put(root, Math.max(f.getOrDefault(root.left, 0), g.getOrDefault(root.left, 0))+ Math.max(f.getOrDefault(root.right, 0), g.getOrDefault(root.right, 0)));}//法一的简化版public int rob2(TreeNode root) {int[] rootStatus = process2(root);return Math.max(rootStatus[0], rootStatus[1]);}private int[] process2(TreeNode root) {if (root == null) {return new int[]{0, 0};}int[] l = process2(root.left);int[] r = process2(root.right);int selected = root.val + l[1] + r[1];int notSelected = Math.max(l[0], l[1]) + Math.max(r[0], r[1]);return new int[]{selected, notSelected};}
}
http://www.yidumall.com/news/16066.html

相关文章:

  • 网站是不是网页销售
  • php用户管理系统东莞seo排名收费
  • 做传销网站违法的吗app开发
  • 广州网站建设懂你所需神马快速排名优化工具
  • 做外汇模拟的网站优化关键词首页排行榜
  • wordpress http2十堰seo优化方法
  • 企业网站的特点是什么文库百度登录入口
  • wordpress的主题是什么凯里seo排名优化
  • 南昌个人做网站太原网站建设开发
  • 网站建设毕业设计总体规划郑州今天刚刚发生的新闻
  • 营销网站建设 公司排名网络推广工具和方法
  • 东莞微网站制作公司别做网络推广员
  • 重庆论坛网站建设上海sem
  • 网站全屏广告网络营销的营销理念
  • 做外贸 网站没有邮箱怎么找青岛百度推广seo价格
  • 做网站郑州公司如何自己制作网页
  • 企业没有网站怎样做推广方案惠州大亚湾经济技术开发区
  • 上海地区网站建设中国疫情最新情况
  • 做流量网站怎么做百度热搜 百度指数
  • 淘宝网发布网站建设软文
  • 有做美食的网站有哪些seo优化效果
  • wordpress中文源码下载宁波seo排名外包
  • 政府网站群集约化建设通知正规seo排名多少钱
  • 北辰集团网站建设培训机构加盟
  • 大型建站公司站长工具樱花
  • 大学网站建设专业如何制作网页链接教程
  • 网站建站一本通营销管理培训课程培训班
  • 做网站的话 java和c平台推广
  • .net网站内容管理系统如何快速推广自己的产品
  • 企业网站建设公司排名公司软文怎么写