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

做网站用语言建设视频网站设计意义

做网站用语言,建设视频网站设计意义,高端建站的公司,赣州朝扬网络科技有限公司62.不同路径 我的代码(报错) 写的过程中感到很迷惑的点:①二维数组和这道题目的对应弄不清除,m n的初始化 是 dp[m][n] 还是 dp[n][m] ② class Solution {public int uniquePaths(int m, int n) {int[][]dp new int[m1][n1];d…

62.不同路径

  • 我的代码(报错)
    写的过程中感到很迷惑的点:①二维数组和这道题目的对应弄不清除,m n的初始化 是 dp[m][n] 还是 dp[n][m] ②
class Solution {public int uniquePaths(int m, int n) {int[][]dp = new int[m+1][n+1];dp[0][0] = 0;dp[0][1] = 1;dp[1][0] = 1;for(int i=1; i<m; i++) {for(int j=1; j<n; j++) {dp[i][j] = dp[i-1][j] + dp[i-1][j-1];}}return dp[m][n];}
}/*
自己解题的时候思考过程n-1 : 往右走的次数
m-1 : 往下走的次数 dp[i][j]到当前的位置,有几种方法
dp[0][0] 0
dp[0][1] 1
dp[1][0] 1
dp[1][1] 2
dp[i][j] 的前一个状态是,(1)他的左边dp[i-1][j],或者(1)dp[i-1][j-1]
dp[i][j] = dp[i-1][j] + dp[i-1][j-1];*/

初始化出错,这里初始化要覆盖到整个左列 和 横排

// 第0列,dp[i][0] 表示到当前的位置,有几种方法,这一列都是只有一种for (int i = 0; i < m; i++) {dp[i][0] = 1;}// 第0行,dp[0][i] 表示到当前的位置,有几种方法,这一行都是只有一种for (int i = 0; i < n; i++) {dp[0][i] = 1;}

JAVA二维数组存储示意图:

在这里插入图片描述

  • 思考过程
    (1) 确定dp数组以及下标的含义:到当前的位置[i][j],有几种方法 dp[i][j]
    (2) 确定递推公式 dp[i][j] = dp[i-1][j] + dp[i][j-1];
    (3) dp数组如何初始化 本题就栽在这一步了,其实是要for循环 初始化一列和一排的
    (4) 确定遍历顺序 从前到后
    (5) 举例推导dp数组
    (6) 打印 dp 数组

  • ac

class Solution {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];}
}

java

求二维数组长度

int m = obstacleGrid.length;
int n = obstacleGrid[0].length;

63. 不同路径 II

  • 推导公式 dp[i][j] = dp[i-1][j] + dp[i][j-1];
    如果[i][j]有障碍,本来就走不了。
    if(obs[i][j] == 0) dp[i][j] = dp[i-1][j] + dp[i][j-1];

  • 初始化
    如果第一行或者第一列有一个障碍物,那么后面的都要初始化为0

  • 出错

java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 3at line 22, Solution.uniquePathsWithObstaclesat line 56, __DriverSolution__.__helper__at line 86, __Driver__.main

因为dp从[1][1]走起

class Solution {public int uniquePathsWithObstacles(int[][] obstacleGrid) {int m = obstacleGrid.length;int n = obstacleGrid[0].length;int[][]dp = new int[m][n];if(obstacleGrid[0][0] == 1 || obstacleGrid[m-1][n-1] == 1) {return 0;} //初始化for(int i=0; i<m && obstacleGrid[i][0]!=1; i++) {dp[i][0] = 1;//中途如果有obstacleGrid[i][0]!=0,那就暂停循环,Java初始化都赋了0}//初始化for(int j=0; j<n && obstacleGrid[0][j]!=1; j++) {dp[0][j] = 1;}for(int i=1; i<m; i++) { //这里写了0是错误的for(int j=1; j<n; j++) {dp[i][j] = (obstacleGrid[i][j]==0?(dp[i][j-1]+dp[i-1][j]):0);}}return dp[m-1][n-1];}
}//我的思考
// obstacleGrid[i][j] = 1 此处有障碍物,走不了
// obstacleGrid[i][j] = 0
// dp[i][j] = dp[i-1][j] + dp[i][j-1]
// 如果 obstacleGrid[i-1][j] = 1,前一种状态就不能是dp[i-1][j],dp[i][j] = dp[i][j-1]
// 如果 obstacleGrid[i][j-1] = 1,前一种状态就不能是dp[i][j-1],dp[i][j] = dp[i-1][j]

343. 整数拆分

没啥思路

力扣解题思路
① 尽可能拆成相同的数字,当所有拆分出的数字相等时,乘积最大。② 最优拆分数字为 3 。

  • 数学方法
class Solution {public int integerBreak(int n) {if(n <= 3) return n - 1;int a = n / 3, b = n % 3;if(b == 0) return (int)Math.pow(3, a);if(b == 1) return (int)Math.pow(3, a - 1) * 4;return (int)Math.pow(3, a) * 2;}
}
  • 动态规划?
    有点没看懂

96. 不同的二叉搜索树

http://www.yayakq.cn/news/363084/

相关文章:

  • 黄石公司网站建设品牌seo推广咨询
  • 怎么可以上传自己做的网站服装平面广告设计图片
  • 网站建设二级页面方案收费看电影网站建设
  • 建站模板更改青岛网络优化费用
  • 广州工程建设网站浙江建设银行网站
  • 国内优秀html网站h5页面制作是什么
  • 工作1年半胖40斤东莞seo技术培训
  • 网站制作策划怎么使用wordpress里的主题
  • 有没有专业帮忙做ppt的网站C语言做网站需要创建窗口吗
  • 响应式电商网站制作制作一个企业网站多少钱
  • 网站公司是做什么的科技公司办公室设计
  • 外贸网站模版下载百度app下载
  • 电脑上建设银行网站打不开佛山搭建建网站哪家好
  • 怎么在百度上能搜到自己的网站中富国建设有限公司网站
  • 网站开发常用工具网站优化建设宁夏
  • 北京网站被处罚网站建设的优势是什么
  • 网站做好了怎么和域名家里电脑做网站服务器
  • 做石材外贸用什么网站外贸公司网站开发
  • word做网站框架青岛房产网最新楼盘价格
  • 网站手机版排名seo网站上的视频上传怎么做
  • 同一人可以做几个网站的负责人wordpress中文版下载
  • 一流高职院校建设网站电脑网站怎么创建到桌面上
  • 电商网站建设新闻武冈做网站
  • 做直播网站宽带怎么建立手机网站
  • 网站建设包括两个方面不属于网络推广方法
  • 高校网站建设 安全教育wordpress 文章分开
  • 公司网站作用四平网站建设联系方式
  • 现实有有哪里学做网站的网站购物车怎么做
  • 前端开发好学吗南京网站排名优化费用
  • 深圳求做网站图书馆网页设计素材