IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 200道大数据面试常考Leetcode算法题--动态规划进阶(与矩阵相关)篇(python带代码解析) -> 正文阅读

[数据结构与算法]200道大数据面试常考Leetcode算法题--动态规划进阶(与矩阵相关)篇(python带代码解析)

往期内容在这里:

往期01-05

往期06-10

往期11-15

往期16-20

数组篇01

数组篇02

数组篇03

数组篇04

动态规划篇

大家好,继续为大家推荐200道大数据面试常考Leetcode算法题,这期为--动态规划进阶(与矩阵相关)篇,附带解析,都是从Leetcode官网总结大神们的解法(在这里感谢大神的帮助,我只是个搬运工!)这篇更新4篇,艾瑞巴迪和我一起刷起来!!

200道大数据面试常考Leetcode算法题(动态规划进阶(与矩阵相关)篇)62-不同路径

leetcode原题:

题解为:

class Solution:
    def uniquePaths(self, m: int, n: int) -> int:
        # 定义一维空间,其大小为 n,值全是1
        dp = [1] * n
        for i in range(1, m):
            for j in range(1, n):
                # i行第j列位置的路径数量 = 
                # 第i - 1行第j列位置的路径数量(上方值) + 第i行第j - 1列位置的路径数量(左边)
                dp[j] = dp[j] + dp[j - 1]
        # 返回最后一个的结果
        return dp[-1]

200道大数据面试常考Leetcode算法题(动态规划进阶(与矩阵相关)篇)63-不同路径Ⅱ

Leetcode原题:

?题解为:

class Solution:
    def uniquePathsWithObstacles(self, obstacleGrid: List[List[int]]) -> int:
        width = len(obstacleGrid[0])
        dp = [0 for i in range(width)] 
        dp[0] = 1
        # 自低向上循环
        for row in obstacleGrid:
            for j in range(width):
                # 左边的格子如果没有障碍物就是1,如果有障碍物则是0
                if row[j] == 1:
                    dp[j] = 0
                # 当前格子走法 = 右边格子走法 + 下方格子走法
                elif j > 0:
                    dp[j] += dp[j - 1]
        return dp[width - 1]        
        

200道大数据面试常考Leetcode算法题(动态规划进阶(与矩阵相关)篇)64-最小路径和

Leetcode原题:

题解为:

class Solution:
    def minPathSum(self, grid: List[List[int]]) -> int:
        # i为数组的行
        for i in range(len(grid)):
            # j为数组的列
            for j in range(len(grid[0])):
                # 判断当位于第一行
                if (i == 0 and j != 0):
                    # 所有的dp[i - 1][j] 都在第一行上边,出了数组上边界
                    grid[i][j] += grid[i][j - 1]
                # 判断当位于第一列
                elif (i != 0 and j == 0):
                    # 所有的 dp[i][j - 1] 都在第一列左边,出了数组左边界
                    grid[i][j] += grid[i - 1][j]
                # 当位于第一行第一列(i == 0 and j == 0)
                elif (i == 0 and j == 0):
                    continue
                # 位于数组里面某一位置
                else:
                    grid[i][j] += min(grid[i-1][j], grid[i][j-1])
        # 遍历完全部行和列之后,返回最后的值 dp[-1][-1]
        return grid[-1][-1]


200道大数据面试常考Leetcode算法题(动态规划进阶(与矩阵相关)篇)221-最大正方形

Leetcode原题为:

题解为:?

class Solution:
    def maximalSquare(self, matrix: List[List[str]]) -> int:
        # 定义边长
        r = 0
        row = len(matrix)#行
        col = len(matrix[0])#列
        for i in range(row):
            for j in range(col):
                matrix[i][j] = int(matrix[i][j])#转为数字好判断点
                if i and j and matrix[i][j]:
                    #转移方程,依赖于左边,上面,左上面的最大边数,选择最小的一个边
                    matrix[i][j] = min(matrix[i - 1][j], matrix[i][j-1], matrix[i-1][j-1]) + 1
                # 找到最大的边长
                r = max(r, matrix[i][j])
        #返回面积
        return r * r

好啦,这期的分享到这里结束啦!我们下期(动态规划在进阶(序列类动态规划问题)篇)再见!

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-08-24 15:48:54  更:2021-08-24 15:49:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:55:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码