代码随想录算法训练营第39天|● 62.不同路径 ● 63. 不同路径 II

62. 不同路径

递归栈很酷 但超时

python 复制代码
class Solution:
    def uniquePaths(self, m: int, n: int) -> int:
        if m==1 or n==1:
            return 1
        return self.uniquePaths(m-1,n)+self.uniquePaths(m,n-1)

逐行dp

python 复制代码
class Solution:
    def uniquePaths(self, m: int, n: int) -> int:
        dp=[1]*n
        for j in range(1,m):
            for i in range(1,n):
                dp[i]+=dp[i-1]
        return dp[n-1]

63. 不同路径 II

j从0开始 每个都要判断

python 复制代码
class Solution:
    def uniquePathsWithObstacles(self, obstacleGrid: List[List[int]]) -> int:
        if obstacleGrid[0][0]==1:return 0
        dp=[0]*len(obstacleGrid[0])
        for j in range(len(dp)):
            if obstacleGrid[0][j]:dp[j]=0
            elif j==0:dp[j]=1
            else:dp[j]=dp[j-1]
        for i in range(1,len(obstacleGrid)):
            for j in range(0,len(dp)):
                if obstacleGrid[i][j]==1:
                    dp[j]=0
                elif j!=0:
                    dp[j]+=dp[j-1]
        return dp[-1]
相关推荐
想跑步的小弱鸡3 小时前
Leetcode hot 100(day 3)
算法·leetcode·职场和发展
xyliiiiiL5 小时前
ZGC初步了解
java·jvm·算法
爱的叹息5 小时前
RedisTemplate 的 6 个可配置序列化器属性对比
算法·哈希算法
独好紫罗兰6 小时前
洛谷题单2-P5713 【深基3.例5】洛谷团队系统-python-流程图重构
开发语言·python·算法
每次的天空6 小时前
Android学习总结之算法篇四(字符串)
android·学习·算法
请来次降维打击!!!7 小时前
优选算法系列(5.位运算)
java·前端·c++·算法
qystca7 小时前
蓝桥云客 刷题统计
算法·模拟
别NULL7 小时前
机试题——统计最少媒体包发送源个数
c++·算法·媒体
weisian1518 小时前
Java常用工具算法-3--加密算法2--非对称加密算法(RSA常用,ECC,DSA)
java·开发语言·算法
程序员黄同学9 小时前
贪心算法,其优缺点是什么?
算法·贪心算法