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

南宁网站seo优化公司怎么申请域名建网站

南宁网站seo优化公司,怎么申请域名建网站,广西建设厅办事大厅网站,普通网站 手机网站62.不同路径 62. 不同路径 - 力扣(LeetCode) 本题大家掌握动态规划的方法就可以。 数论方法 有点非主流,很难想到。 代码随想录 视频讲解:动态规划中如何初始化很重要!| LeetCode:62.不同路径_哔哩哔哩_b…

62.不同路径

62. 不同路径 - 力扣(LeetCode)

本题大家掌握动态规划的方法就可以。 数论方法 有点非主流,很难想到。

代码随想录

视频讲解:动态规划中如何初始化很重要!| LeetCode:62.不同路径_哔哩哔哩_bilibili

dp数组含义:从m*n格子左上角到右上角有几种走法

递推公式:dp[i][j] = dp[i - 1][j] + dp[i][j - 1];

初始化:dp[i][1] = 1  dp[1][i] = 1 

遍历顺序:从左往右

class Solution {public int uniquePaths(int m, int n) {int[][] dp = new int[m + 1][n + 1];for(int i = 1;i < m + 1;i++){dp[i][1] = 1;}for(int i = 1;i < n + 1;i++){dp[1][i] = 1;}for(int i = 2;i < m + 1;i++){for(int j = 2;j < n + 1;j++){dp[i][j] = dp[i - 1][j] + dp[i][j - 1];}}return dp[m][n];}
}

63. 不同路径 II

63. 不同路径 II - 力扣(LeetCode)

https://programmercarl.com/0063.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84II.htmlhttps://programmercarl.com/0063.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84II.html

视频讲解:动态规划,这次遇到障碍了| LeetCode:63. 不同路径 II_哔哩哔哩_bilibili

dp数组含义:从当前位置到目标位置有几种走法

递归公式:dp[i][j] = dp[i + 1][j] + dp[i][j + 1];

初始化:n - 1列 m - 1行,从左向右从上到下找到最后一个出现的障碍,障碍和之前的dp都是0

其他位置如果有障碍,dp也是0

遍历顺序:从右向左,从下到上

class Solution {public int uniquePathsWithObstacles(int[][] obstacleGrid) {int m = obstacleGrid.length;int n = obstacleGrid[0].length;int[][] dp = new int[m][n];int mem = -1;//初始化n - 1列for(int i = 0;i < m;i++){if(obstacleGrid[i][n - 1] == 1){mem = i;dp[i][n - 1] = 0;}else{dp[i][n - 1] = 1;}}if(mem != -1){for(int i = 0;i < mem;i++){dp[i][n - 1] = 0;}}mem = -1;//初始化m - 1行for(int i = 0;i < n;i++){if(obstacleGrid[m - 1][i] == 1){mem = i;dp[m - 1][i] = 0;}else{dp[m - 1][i] = 1;}}if(mem != -1){for(int i = 0;i < mem;i++){dp[m - 1][i] = 0;}}for(int i = m - 2;i >= 0;i--){for(int j = n - 2;j >= 0;j--){//碰到障碍就是0种走法if(obstacleGrid[i][j] == 1)dp[i][j] = 0;//从右向左遍历else dp[i][j] = dp[i + 1][j] + dp[i][j + 1];}}return dp[0][0];}
}

随想录的,dp的含义是从00到该目标位置有几种走法,从左向右遍历

初始化第一行第一列,没有障碍物赋1,只要遇到一个障碍物就赋0,后面都是0

class Solution {public int uniquePathsWithObstacles(int[][] obstacleGrid) {int m = obstacleGrid.length;int n = obstacleGrid[0].length;int[][] dp = new int[m][n];//如果在起点或终点出现了障碍,直接返回0if (obstacleGrid[m - 1][n - 1] == 1 || obstacleGrid[0][0] == 1) {return 0;}for (int i = 0; i < m && obstacleGrid[i][0] == 0; i++) {dp[i][0] = 1;}for (int j = 0; j < n && obstacleGrid[0][j] == 0; j++) {dp[0][j] = 1;}for (int i = 1; i < m; i++) {for (int j = 1; j < n; j++) {dp[i][j] = (obstacleGrid[i][j] == 0) ? dp[i - 1][j] + dp[i][j - 1] : 0;}}return dp[m - 1][n - 1];}
}
  1. 整数拆分 

343. 整数拆分 - 力扣(LeetCode)

代码随想录

视频讲解:动态规划,本题关键在于理解递推公式!| LeetCode:343. 整数拆分_哔哩哔哩_bilibili

class Solution {public int integerBreak(int n) {if(n == 2)return 1;int[] dp = new int[n + 1];dp[2] = 1;dp[3] = 2;int temp = 0;for(int i = 3;i < n + 1;i++){for(int j = 1;j <= i/2;j++){dp[i] = Math.max(j * dp[i - j],j*(i - j));dp[i] = Math.max(dp[i],temp);temp = dp[i];}}return dp[n];}
}
  1. 不同的二叉搜索树 (跳过)

本题思路并不容易想,一刷建议可以跳过。 如果学有余力,可以看视频理解一波。

代码随想录

视频讲解:动态规划找到子状态之间的关系很重要!| LeetCode:96.不同的二叉搜索树_哔哩哔哩_bilibili

http://www.dtcms.com/wzjs/503808.html

相关文章:

  • 梅州建网站百度竞价排名平台
  • 网站服务器报价培训后的收获和感想
  • 自己建站模板写一篇软文1000字
  • 长沙php网站建设刷关键词排名系统
  • 手机网站模版php源码百度搜索指数排行榜
  • 做美女网站犯法吗最新军事动态最新消息
  • 网站在线qq客服系统西安seo按天收费
  • 销售类网站开发百度灰色词排名代发
  • 自己怎样做网站淘宝运营培训
  • 电商类网站开发项目流程今日热搜榜排行榜
  • 创新的天津网站建设莆田百度seo公司
  • 柳州正规网站制作公司哪家好2022新闻热点10条
  • 海南医院网站建设品牌的宣传及推广
  • 可信赖的南昌网站建设广西壮族自治区在线seo关键词排名优化
  • 做网站国家大学科技园郑州做seo推广一年大概的费用
  • 政府网站和政务新媒体建设管理办法国际新闻军事最新消息
  • 中国城乡住房建设部网站淘宝竞价排名
  • 做网站建设需要做哪些工作室可以放友情链接的网站
  • 自己动手建立网站3全部列表支持安卓浏览器软件下载
  • 企业手机网站建设策划方案百度关键词首页排名怎么上
  • 海口省建设厅网站百度公司官网招聘
  • 新媒体营销课程个人总结百度关键词优化师
  • index网站制作口碑营销5t理论
  • 做网站是怎么赚钱网络营销好找工作吗
  • 广西住房和城乡建设厅培训成都百度seo优化公司
  • 商城网站建设code521黄页网络的推广网站有哪些软件
  • 做自媒体好还是网站好网站建设公司简介
  • 东莞建站模板代理外贸营销平台
  • 做宠物网站还有前景嘛免费seo营销优化软件下载
  • 微信端网站开发模板电商网站运营