mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
feat:添加0063不同路径内存优化javascript版本
This commit is contained in:
@ -382,8 +382,37 @@ var uniquePathsWithObstacles = function(obstacleGrid) {
|
||||
|
||||
return dp[m - 1][n - 1]
|
||||
};
|
||||
|
||||
// 版本二:内存优化,直接以原数组为dp数组
|
||||
var uniquePathsWithObstacles = function(obstacleGrid) {
|
||||
const m = obstacleGrid.length;
|
||||
const n = obstacleGrid[0].length;
|
||||
for (let i = 0; i < m; i++) {
|
||||
for (let j = 0; j < n; j++) {
|
||||
if (obstacleGrid[i][j] === 0) {
|
||||
// 不是障碍物
|
||||
if (i === 0) {
|
||||
// 取左边的值
|
||||
obstacleGrid[i][j] = obstacleGrid[i][j - 1] ?? 1;
|
||||
} else if (j === 0) {
|
||||
// 取上边的值
|
||||
obstacleGrid[i][j] = obstacleGrid[i - 1]?.[j] ?? 1;
|
||||
} else {
|
||||
// 取左边和上边的和
|
||||
obstacleGrid[i][j] = obstacleGrid[i - 1][j] + obstacleGrid[i][j - 1];
|
||||
}
|
||||
} else {
|
||||
// 如果是障碍物,则路径为0
|
||||
obstacleGrid[i][j] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
return obstacleGrid[m - 1][n - 1];
|
||||
};
|
||||
```
|
||||
|
||||
|
||||
|
||||
### TypeScript
|
||||
|
||||
```typescript
|
||||
|
Reference in New Issue
Block a user