【算法日志】动态规划刷题:路径数问题(day34)

代码随想录刷题60Day


目录

前言

不同路径

不同路径(2)


前言

今天的动态规划题与昨天的题很类似,只不过今天的题是在二维上讨论,难度上略有提升。


不同路径

cpp 复制代码
int uniquePaths(int m, int n) 
	{
		vector<int> dp(n + 1, 1);
		for (int i = 1; i < m; ++i)
		{
			for (int j = 2; j <= n; ++j)
				dp[j] = dp[j] + dp[j - 1];
		}
		return dp[n];
	}

不同路径(2)

有一些测试用例比较极端,需要注意一些细节。

cpp 复制代码
	int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) 
	{
		if (obstacleGrid[0][0])return 0;
		int size = obstacleGrid[0].size();
		vector<int> dp(size + 1, 0);
		dp[1] = 1;
		for (int i = 0; i < obstacleGrid.size(); ++i)
		{
			if (obstacleGrid[i][0])
				dp[1] = 0;
			for (int j = 2; j <= size; ++j)
			{		
				if (obstacleGrid[i][j - 1])
					dp[j] = 0;
				else if (i > 0)
					dp[j] = dp[j] + dp[j - 1];
				else
					dp[j] = dp[j - 1];
			}
		}
		return dp[size];
	}

相关推荐
故事和你915 分钟前
洛谷-【数据结构2-2】线段树2
开发语言·数据结构·算法·动态规划·图论
ghie90907 分钟前
MATLAB 随机蛙跳算法 (SFLA) 优化最小二乘回归
算法·matlab·回归
wuweijianlove8 分钟前
算法优化中的缓存层次结构与内存映射的技术7
算法
故事和你9110 分钟前
洛谷-【数据结构2-2】线段树1
开发语言·javascript·数据结构·算法·动态规划·图论
电科一班林耿超15 分钟前
机器学习大师课 第 8 课:端到端项目实战 —— 泰坦尼克号生存预测
人工智能·算法·机器学习
ComputerInBook20 分钟前
数字图像处理(4版)——第 12 章——图像模式分类(上)(Rafael C.Gonzalez&Richard E. Woods)
图像处理·人工智能·算法·模式识别·图像模式分类
y = xⁿ20 分钟前
20天速通LeetCodeday13:DFS深度优先搜素
算法·深度优先
七牛开发者21 分钟前
开源项目观察|ds4:本地 Agent 推理,不只是把模型跑起来
人工智能·redis·算法·开源
影sir23 分钟前
OI Wiki--算法竞赛百科
经验分享·算法
吞下星星的少年·-·24 分钟前
x*y的所有因数=x的所有因数分别乘以y的所有因数
算法