2021年12月15日

单调递增子序列问题——集成问题

摘要: """Longest Increasing Subsequence(LIS)单调递增子序列问题:给定一个无序的数组,求该数组中存在的最长的单调递增序列这是一种典型的动态规划问题,其中dp[i]表示num[i]对应的最长递增训练个数;base case:dp[i]=1,表示num[i]对应的最长递增子 阅读全文

posted @ 2021-12-15 09:55 random_boy 阅读(145) 评论(0) 推荐(0)

最大子数组问题系列

摘要: """最大子数组问题:首先,子数组存在连续的特性。同时,在求取最值问题方面,可以考虑动态规划解法。下面列举最大子数组问题。""""""问题1. 输入一个整数数组nums, 找出和最大的子数组,返回这个子数组的和解题思路:利用动态规划的解法,定义dp数组为:dp[i]为以num[i]为结尾的最大数组和 阅读全文

posted @ 2021-12-15 09:52 random_boy 阅读(382) 评论(0) 推荐(0)

凑零钱问题

摘要: """案例:给定不同面额的硬币和一个总金额,写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个输入:amount=5, coins=[1,2,5]输出:4"""def make_the_change(coins, amount): dp = [[0 for i in range( 阅读全文

posted @ 2021-12-15 09:52 random_boy 阅读(242) 评论(0) 推荐(0)

背包问题系列

摘要: """背包问题按照可选样本的数量有无限制,可分为0-1背包问题和完全背包问题。但是,不管0-1背包问题,还是完全背包问题他们的状态都是dp[i][j]表示前i个选择中,背包容量j的情况,选择:都是是否选择加入该i""""""0-1背包问题:给你⼀个可装载重量为 W 的背包和 N 个物品,每个物品有重 阅读全文

posted @ 2021-12-15 09:51 random_boy 阅读(40) 评论(0) 推荐(0)

正则匹配问题

摘要: """正则匹配问题"""def is_match_on_iteration(s1, pattern): if not s1: return not pattern first_match = s1 and (pattern[0] in {s1[0], '.'}) if len(pattern) >= 阅读全文

posted @ 2021-12-15 09:50 random_boy 阅读(34) 评论(0) 推荐(0)

股票收益——动态规划系列

摘要: """股票收益问题是一种典型的动态规划问题,其状态主要由:1)股票交易的时间;2)股票可交易的次数;3)股票当前的状态【买入、卖出及不变】组成, 例如:dp[3][2][1]的含义就是:今天是第三天,我现在⼿上持有着股票,⾄今最多进⾏ 2 次交易。再⽐如 dp[2][3][0] 的含义:今天是第⼆天 阅读全文

posted @ 2021-12-15 09:49 random_boy 阅读(133) 评论(0) 推荐(0)

1143. 最长公共子序列

摘要: """1143. 最长公共子序列给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串 阅读全文

posted @ 2021-12-15 09:48 random_boy 阅读(53) 评论(0) 推荐(0)

剑指 Offer II 095. 最长公共子序列

摘要: """剑指 Offer II 095. 最长公共子序列给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何 阅读全文

posted @ 2021-12-15 09:48 random_boy 阅读(34) 评论(0) 推荐(0)

44. 通配符匹配

摘要: """44. 通配符匹配给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包 阅读全文

posted @ 2021-12-15 09:47 random_boy 阅读(63) 评论(0) 推荐(0)

72. 编辑距离

摘要: """72. 编辑距离给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1 = "horse", word2 = "ros"输出:3解释:hors 阅读全文

posted @ 2021-12-15 09:47 random_boy 阅读(34) 评论(0) 推荐(0)

导航