
动态规划
dp
lankerens
日常抄代码并给大佬点赞
展开
-
1027. 最长等差数列
LeetCode: 1027. 最长等差数列 DP 题 dp[i][j] >> 以第 i 个数字结尾, 以 j 为差值的等差数列的最大长度 >> j >> 差值 >> 可以是为 正值、负值 通过调整上下限 (±10000) 解决 在 A 的每个位置,维护一个映射关系map, 前者表示差值,后者为等差数列的个数。 当我们遍历的时候,当遍历到当前的数减去之前的数时的差值,当前数的位置 i 的等差数列个数为 之前的数的位置 j 的等差数列原创 2020-10-27 23:01:07 · 183 阅读 · 0 评论 -
【动态规划】方格走法
有一个X*Y的网格,小团要在此网格上从左上角到右下角,只能走格点且只能向右或向下走。请设计一个算法,计算小团有多少种走法。给定两个正整数int x,int y,请返回小团的走法数目。 样例: in: 3 2 ( 3行方格,2列方格 out: 10 in: 1 2 out: 3 一、思路 这题输入的网格的个数,区别于点数,因为走的是格点,所以实际格点数的 行、列都会比网格数大1 动态转移公式...原创 2019-11-28 21:06:12 · 1014 阅读 · 1 评论 -
【动态规划】最长公共连续子串
给出两个字符串(可能包含空格),找出其中最长的公共连续子串,输出其长度。 1.思路 建立一张二维表,用来存储字符c1[i]和c2[j]是否相等 abcde abgde abcde abcde abcde abcde abcde a 10000 10000 10000 10000 10000 b 00000 02000 02...原创 2019-11-10 17:18:55 · 414 阅读 · 0 评论 -
【动态规划】硬币划分
有1分,2分,5分,10分四种硬币,每种硬币数量无限,给定n分钱(n <= 100000),有多少中组合可以组成n分钱? 输入整数n.(1<=n<=100000) 输出组合数,答案对1e9+7取模。 13 16 int [] a = {1,2,5,10} 1. 思路 dp[i] 定义为 组成 i 分钱的有多少种方式 转移方程: dp[j] = dp[j - a[i]] ...原创 2019-11-09 21:48:56 · 399 阅读 · 0 评论 -
字符串最少编辑操作次数 ( dp )
给出两个单词word1和word2,计算出将word1 转换为word2的最少操作次数。 你总共三种操作方法: 插入一个字符 删除一个字符 替换一个字符 样例: in: abc abd out: 1 in: mark kmarml out: 3 准备知识 编辑距离及编辑距离算法 一、思路 如下动态规划公式 -------------------------------------...原创 2019-11-27 20:16:40 · 1936 阅读 · 0 评论