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