题解 | #不同路径的数目(一)#

https://www.nowcoder.com/practice/166eaff8439d4cd898e3ba933fbc6358

class Solution:
    def uniquePaths(self , m: int, n: int) -> int:
        # write code here
        if m == 1 or n == 1:
            return 1
        a = [1]*n
        for i in range(m-1):
            for j in range(2,n+1):
                
                a[j-1] = a[j-1] + a[j-2]
        return a[n-1]
可以把空间复杂度缩减到O(min(n,m)),例如当n比m小时,第一行为全1,第二行算出来的值直接覆盖第一行,因为算第三行时用不到第一行,所以当第一轮循环结束a[i]是第二行的第i个值。
当m较小时就竖着算,从第一列到最后一列。时间复杂度还是O(mn)
原始一点点的解法 文章被收录于专栏

尽量不借助面向对象的思想,自己去实习具体过程

全部评论

相关推荐

11-28 17:58
门头沟学院 Java
美团 JAVA开发 n×15.5
牛客786276759号:百度现在晋升很难的 而且云这块的业务没美团好 你看百度股价都跌成啥样了
点赞 评论 收藏
分享
11-13 20:32
门头沟学院 Java
面向未来编程code:我没看到他咋急,他不就问你个问题。。。
点赞 评论 收藏
分享
粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务