动态规划
花飞雨追
梦想不是浮躁,而是沉淀和积累。
展开
-
Leetcode 1220 统计元音字母序列的数目
题目给你一个整数 n,请你帮忙统计一下我们可以按下述规则形成多少个长度为 n 的字符串:字符串中的每个字符都应当是小写元音字母(‘a’, ‘e’, ‘i’, ‘o’, ‘u’)每个元音 ‘a’ 后面都只能跟着 ‘e’每个元音 ‘e’ 后面只能跟着 ‘a’ 或者是 ‘i’每个元音 ‘i’ 后面 不能 再跟着另一个 ‘i’每个元音 ‘o’&n原创 2022-01-17 01:02:06 · 411 阅读 · 0 评论 -
Leetcode 91 解码方法
一条包含字母 A-Z 的消息通过以下映射进行了 编码 :‘A’ -> 1‘B’ -> 2…‘Z’ -> 26要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,“11106” 可以映射为:“AAJF” ,将消息分组为 (1 1 10 6)“KJF” ,将消息分组为 (11 10 6)注意,消息不能分组为 (1 11 06) ,因为 “06” 不能映射为 “F” ,这是由于 “6” 和 “06” 在映射中并不等价。给你一个只含数字的 非空原创 2021-12-03 11:04:04 · 121 阅读 · 0 评论 -
Leetcode 63 不同路径II
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?原创 2021-11-29 09:47:15 · 103 阅读 · 0 评论 -
Leetcode 62 不同路径
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?原创 2021-11-29 09:15:29 · 78 阅读 · 0 评论 -
Leetcode 97 交错字符串
给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:s = s1 + s2 + … + snt = t1 + t2 + … + tm|n - m| <= 1交错 是 s1 + t1 + s2 + t2 + s3 + t3 + … 或者 t1 + s1 + t2 + s2 + t3 + s3 + …提示:a + b 意味着字符串 a 和 b 连接。原创 2021-11-16 10:46:55 · 373 阅读 · 0 评论 -
Leetcode 55 跳跃游戏
给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。原创 2021-11-14 10:15:45 · 2181 阅读 · 0 评论 -
Leetcode 53 最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。原创 2021-11-14 09:43:39 · 371 阅读 · 0 评论 -
Leetcode 3 无重复字符的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。原创 2021-10-19 15:17:56 · 85 阅读 · 0 评论 -
Leetcode 1027 最长等差数列
给定一个整数数组 A,返回 A 中最长等差子序列的长度。回想一下,A 的子序列是列表 A[i_1], A[i_2], …, A[i_k] 其中 0 <= i_1 < i_2 < ... < i_k <= A.length - 1。并且如果 B[i+1] - B[i] ( 0 <= i < B.length - 1) 的值都相同,那么序列 B 是等差的。原创 2021-10-17 16:05:22 · 248 阅读 · 0 评论 -
HDU 6351 Beautiful Now(记忆化搜索+回溯)
HDU 6351 Beautiful Now(记忆化搜索+回溯)Beautiful NowTime Limit: 5000/2500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 1208 Accepted Submission(s): 435Proble...原创 2018-08-07 10:18:08 · 307 阅读 · 0 评论 -
POJ1579简单dp
Function Run FunTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 19108 Accepted: 9666DescriptionWe all love recursion! Don't we? Consider a three-par原创 2017-05-13 23:34:59 · 479 阅读 · 0 评论 -
POJ1953
World Cup NoiseTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 17674 Accepted: 8615DescriptionBackground "KO-RE-A, KO-RE-A" shout 54.000 happy footbal原创 2017-04-23 22:02:00 · 1612 阅读 · 0 评论 -
POJ1163
The TriangleTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 48800 Accepted: 29478Description73 88 1 02 7 4 44 5 2 6 5(Figure原创 2017-04-26 21:50:24 · 297 阅读 · 0 评论 -
ACM International Collegiate Programming H.动态规划
D - Popcorn popcorn.in / standard outputStatementsMaram and Marwa are an example of good friends. They know each other since they were in the kindergarten. One day, they went together to t原创 2017-05-25 21:33:33 · 382 阅读 · 0 评论 -
POJ3624背包问题
Charm BraceletTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 38547 Accepted: 16723DescriptionBessie has gone to the mall's jewelry store and spies a ch原创 2017-04-22 17:20:08 · 359 阅读 · 0 评论 -
Gym 101617D Jumping Haybales
题意 给出一个只由#和.组成的图,其中不能走到#上,但是可以跳过,而.是空地,可以随便走。现要求从左上角走到右下角,可以的话输出最少步数,否则输出-1。数据的输入第一行是n和k,n表示n*n的图,k表示一次最多走的步数。解题思路 开始的时候把k的含义理解错了,以为是最多走多少个.。然后就想用BFS,毕竟涉及到了最少步数,但是BFS的时间复杂度是n^2*k,妥妥的超。然后想到了dijkst原创 2017-12-14 22:24:05 · 381 阅读 · 0 评论 -
POJ 2479
题意 找两个子区间的和的最大值,两个子区间不能相交。解题思路 左一遍右一遍做两次最大子区间的和,存到两个数组中,最后枚举相邻,算出最大和。至于为什么这么写,画个图就很清楚了。有人有可能要问为什么要反向算最大值?因为如果依次枚举区间,直接算后半部分的最大值的话,就是O(n^2),妥妥的超时。所以这里只能用两个数组,分别从左右将所有区间的最大值存到相应的...原创 2018-03-26 20:04:21 · 181 阅读 · 0 评论 -
HDU2084数塔(数字三角形)
数塔Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 43391 Accepted Submission(s): 25675Problem Description在讲述DP算法的时候,一个经典的例子就是数塔问题,原创 2017-04-27 19:21:48 · 343 阅读 · 0 评论