给定一个长度为 S 的字符串和另一个表示可能包含 S 作为子序列的字符串长度的数字 n。我们必须找到包含 S 作为子序列的长度为 N 的唯一字符串的数量,其中子序列是从给定字符串中获得的一组字符,它们可能是所有字符或不是所有字符,并且它们不需要是连续的。示例输入字符串 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 =… 阅读更多
字符串的字谜是指一个字符串包含与另一个字符串完全相同的字符,字符的顺序可能与原始字符串不同,因此我们称这两个字符串互为字谜。这里我们给出了两个字符串 first 和 second,它们互为字谜。我们的任务是最小化操作次数,以使第一个字符串与第二个字符串相同。一个操作是我们可以删除第一个字符串开头或结尾的一个字符,并在任何位置重新插入。示例输入第一个:“hello”,第二个:“ohlle”… 阅读更多