算法-动态规划
动态规划算法题目归纳总结
程序员大航子
现就职于抖音集团 | 在南方发展的不正经东北人 | 互联网苟且偷生的JAVA开发 | 面试人数超200人 | 关注我不迷路
展开
-
刷穿力扣 | 最大正方形
最大正方形原创 2022-09-27 23:09:02 · 636 阅读 · 1 评论 -
大厂真题 | 最长公共子序列
最长公共子序列这道题是笔者在滴滴面试的过程中遇到的真题题目给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串原创 2020-11-20 17:04:25 · 613 阅读 · 1 评论 -
三角形最小路径和(动态规划入门篇)
三角形最小路径和(动态规划入门篇)题目给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3] ]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。PS:如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)...原创 2019-09-07 20:12:34 · 1622 阅读 · 0 评论 -
杨辉三角(动态规划入门篇)
杨辉三角(动态规划入门篇)题目给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。示例示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]解题思路如果能够知道一行杨辉三角,我们就可以根据每对相邻的值轻松地计算出它的下一行。虽然这一算法非常简单,但用于构造杨辉三角...原创 2019-09-07 23:48:41 · 3051 阅读 · 0 评论 -
杨辉三角进阶(动态规划入门篇)
杨辉三角进阶(动态规划入门)题目给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。示例示例:输入: 3输出: [1,3,3,1]进阶:你可以优化你的算法到 O(k) 空间复杂度吗?解题思路使用一个指定行数加一容量的数组,就是指定行的元素个数。从第0行开始,把杨辉三角的改行数据放入到这个数组中。我们只关心最后一行,所以这个数组是可以重复利用了,满足题中要求...原创 2019-09-08 01:15:31 · 1774 阅读 · 0 评论 -
最小路径和的三种解法(动态规划入门篇)
最小路径和题目给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。解题分析这道题,我能想到的一共三种解法。首先,这很类似与迷宫的问题,很显然可以使用递归来解决,...原创 2019-09-14 02:16:40 · 3338 阅读 · 0 评论