我们得到一个长度为 S 的字符串,以及另一个表示字符串长度的数字 n,这些字符串可能包含 S 作为子序列。我们必须找到包含 S 作为子序列的长度为 N 的唯一字符串的数量,其中子序列是来自给定字符串的一组字符,这些字符可能是所有字符或不是所有字符,并且它们不需要连续。示例 输入字符串 str = "xyz" 整数 n = 3 输出 1 解释 只有一个长度为 3 的字符串包含…… 阅读更多
子序列是从给定字符串中删除一些(可能为零或全部)字符后可以获得的字符串,这些字符可能不是连续的。我们得到一个字符串,必须找到大于等于给定字符串 Y 并小于等于另一个给定字符串 Z 的子序列的数量。我们将使用动态规划来解决问题,因为蛮力方法将花费指数时间。蛮力方法 蛮力方法是找到给定字符串 X 的所有子序列,然后检查它们是否…… 阅读更多
子串是从给定字符串中删除开头和结尾的一些字符(可能为全部或零)后可以获得的字符的连续序列。我们得到一个二进制字符串,我们必须找到包含最多 X 个零和 Y 个一的最多最长子串的长度,其中 X 和 Y 是给定的输入。示例 输入 字符串 str = "101011"; 整数 x = 1; 整数 y = 2; 输出 最多包含 X 个零和…… 阅读更多
给定两个字符串 string A 和 string B,以及一个数组,该数组表示删除给定字符串 A 的第 i 个字符的成本。我们需要以最小成本删除字符串 A 的一些字符(可能为零或无),使得 A 的任何子序列都不表示字符串 B。我们将看到三种实现代码的方法:递归方法;递归和备忘录方法;以及表格化或迭代动态规划。示例让我们来看下面的示例 - 输入字符串 a = "xanxd" 字符串 b = ... 阅读更多