[leetcode]62. Unique Paths/63. Unique Paths II -- JavaScript 代码
来源:互联网 发布:小程序 video.js 编辑:程序博客网 时间:2024/06/11 00:19
/** * @param {number} m * @param {number} n * @return {number} */var uniquePaths = function(m, n) {// 建立一个 m*n的矩阵 f(x,y) = f(x-1,y) + f(x,y-1) var array = []; for(var i=0;i<m;i++){ array[i] = []; for(var j=0;j<n;j++){ if(i===0||j===0){ array[i][j] = 1; }else{ array[i][j] = 0; } } } for(i=1;i<m;i++){ for(j=1;j<n;j++){ array[i][j] = array[i-1][j]+array[i][j-1]; } } return array[m-1][n-1];};
典型的动态规划题目,只要找到递归方程,问题就迎刃而解了:
f(x,y) = f(x-1,y) + f(x,y-1)
第63题和62题基本思路一样,就是多了个条件。DP代码如下:
/** * @param {number[][]} obstacleGrid * @return {number} */var uniquePathsWithObstacles = function(obstacleGrid) { var row = obstacleGrid.length; if(row===0){ return 0; } var col = obstacleGrid[0].length; var array = []; for(var i=0;i<row;i++){ array[i] = []; if(obstacleGrid[i][0]==1){ break; }else{ array[i][0] = 1; } } for(j=i;j<row;j++){ array[j] = []; array[j][0] = 0; } for(i=0;i<col;i++){ if(obstacleGrid[0][i]==1){ break; }else{ array[0][i] = 1; } } for(var j=i;j<col;j++){ array[0][j] = 0; } for(i=1;i<row;i++){ for(j=1;j<col;j++){ if(obstacleGrid[i][j]==1){ array[i][j] = 0; }else{ array[i][j] = array[i-1][j] + array[i][j-1] } } } return array[row-1][col-1];};
0 0
- [leetcode]62. Unique Paths/63. Unique Paths II -- JavaScript 代码
- LEETCODE 62. Unique Paths LEETCODE 63. Unique Paths II
- LeetCode-62. Unique Paths/63. Unique Paths II
- Leetcode 62. Unique Paths和63. Unique Paths II
- Leetcode-62. Unique Paths and 63. Unique Paths II
- Leetcode 62. Unique Paths & 63. Unique Paths II
- 62. Unique Paths && 63. Unique Paths II
- 62. Unique Paths \ 63. Unique Paths II
- LeetCode --- 63. Unique Paths II
- LeetCode 63.Unique Paths II
- [leetcode] 63.Unique Paths II
- [leetcode] 63.Unique Paths II
- Leetcode 63. Unique Paths II
- LeetCode 63. Unique Paths II
- [leetcode] 63. Unique Paths II
- leetcode 63. Unique Paths II
- 63. Unique Paths II LeetCode
- LeetCode 63. Unique Paths II
- HDU 4027 Can you answer these queries?[区间求和+区间更新]
- 关系表达式
- Java中什么是序列化?
- Android数据存储:获取网络图片把图片保存到SD卡中并从SDk卡中读取(通过Bitmap方法)
- iOS push过程中常见的问题
- [leetcode]62. Unique Paths/63. Unique Paths II -- JavaScript 代码
- 华为oj迷宫问题
- eclipse设置颜色背景主题
- iOS开发之UI学习-UITableView的复用机制
- Qt多线程编程中的对象线程与函数执行线程
- Python中的上下文管理器
- 【HDU 1166 敌兵布阵】
- 构造函数与析构函数
- leetcode 233 Number of Digit One