动态规划
文章平均质量分 67
ZhangyiA*
菜鸟学刷题
展开
-
力扣:解码方法
题目描述一条包含字母 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-08-01 17:33:05 · 147 阅读 · 0 评论 -
力扣:打家劫舍 I & 变形题
题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。力扣:198. 打家劫舍输入:[2,7,9,3,1]输出:12解释:偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。偷窃到的最高原创 2021-05-08 17:42:21 · 142 阅读 · 0 评论 -
笔试:求数组左边减去右边的最大值 / 右边减去左边的最大值
求数组左边减去右边最大值 / 右边减去左边最大值 是笔试和面试中很容易考的一个动态规划问题,我的一个同学面试的时候就考了 求数组左边减去右边最大值 一题 。先考虑一下 右边减去左边最大值 ,为什么呢 ? 因为这是 力扣 上一到很经典的动态规划 序列 题 ,可能换个名字大家就能想起来了, 力扣: 121. 买卖股票的最佳时机题目描述:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的原创 2021-05-07 11:14:10 · 611 阅读 · 0 评论 -
2021-3-21 牛牛很喜欢在数字序列中跳跃(百度面试)
题目描述牛牛很喜欢在数字序列中跳跃现在他站在 1 号位置, 每次跳跃,他可以向后跳一步(即从 i 调到 i + 1),也可以跳到该位置后的任意一个与该位置上的数字相同的位置请问他最少需要跳多少步才能到 N 号位置?输入描述第一行输入一个整数 N ,表示数字序列的长度接下来一行为一个仅由数字 0 - 9 构成的数字串输出描述输出到达 N 号位置最少的步数题目分析动态规划思想:1、dp[ i ] 表示 跳到第 i 号位置需要的最少步数2、根据题意,跳到第 i 个位置,可以从 i -原创 2021-03-26 22:30:01 · 597 阅读 · 0 评论 -
最长公共子序列 LCS
题目描述给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共子序列,则返回 0。力扣:1143.最长公共子序列输入:text1 = “abcd原创 2020-12-14 21:59:54 · 492 阅读 · 0 评论 -
力扣:最长回文子序列
题目描述给定一个字符串 s ,找到其中最长的回文子序列,并返回该序列的长度。可以假设 s 的最大长度为 1000 。提示:1 <= s.length <= 1000s 只包含小写英文字母力扣:516. 最长回文子序列输入:“bbbab”输出:4一个可能的最长回文子序列为 “bbbb”。题目分析:参考题解题解 – 代码随想录1、状态数组dp[i][j]:字符串 s 在 [i, j] 范围内最长的回文子序列的长度为 dp[i][j]。2、确定地推关系如果转载 2021-05-18 17:00:59 · 266 阅读 · 0 评论 -
力扣:组合总和 IV
题目描述给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。示例:nums = [1, 2, 3]target = 4所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。因此输出为 7。题目分析请参考大佬 liweiwei1494 的题解 非常详细AC代码:class Solution { public int c转载 2020-12-07 16:18:20 · 201 阅读 · 0 评论 -
力扣:最佳买卖股票时机
最近在力扣上刷到最佳买卖股票时机系列的题型,主要采用动态规划的思想来解决此类问题。在这里从简单情况,慢慢过渡到相对复杂的情况分析。题一、买卖股票的最佳时机题目描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时原创 2020-12-03 20:55:05 · 357 阅读 · 0 评论 -
背包问题(整理)
在这里推荐一些,关于背包九讲,非常好的视频讲解和相关的博客学习背包九讲 —— yxc 直播回放 B站 大雪菜背包九讲 —— 全篇详细理解与代码实现 CSDN 良月澪二,博主提供了很多背包方面的题解。结合视频和博客的学习,这里提供一些 java 的实现版本,其实就是翻译一下,大佬们的 C++ 程序 。这些题都可以在 AcWing 题库第一页就能找到,是不是很方便。这里也只介绍了四类背包问题, 因为其他的类型,本人太菜了,还没学会 ( T—T ) , 后期再慢慢加上。01背包传送门i原创 2020-12-03 20:48:57 · 137 阅读 · 0 评论