假设我们有两个字符串 s 和 t,我们需要找到 s 中包含 t 中所有字符的最小子串的大小。如果不存在这样的子串,则返回 -1。因此,如果输入类似于 s = "thegrumpywizardmakes" t = "wake",则输出将是 10,因为包含 "wake" 的最短子串是 "wizardmake"(长度为 10)。为了解决这个问题,我们将遵循以下步骤:- counter:= b 中每个字符的频率 start:= 0 min_subs:= inf rem:= b 中不同字符的计数 for end in range 0 到 a 的大小,…… 阅读更多
假设我们有一个字符串 s,我们需要找到将其转换为回文所需的最小相邻交换次数。如果没有这样的解决方法,则返回 -1。因此,如果输入类似于 s = "xxyy",则输出将是 2,因为我们可以交换中间的 "x" 和 "y",使字符串变为 "xyxy",然后交换前两个 "x" 和 "y" 以获得 "yxxy",这是一个回文。为了解决这个问题,我们将遵循以下步骤:- 定义一个函数 util()。这将采用 s seen:= 一个新的映射对于每个 i in…… 阅读更多
假设我们有一个字符串 s 和另一个字符串 t。并且 t 是 s 的子序列。我们需要找到可以从 s 中删除的子串的最大长度,以便 t 仍然是 s 的子序列。因此,如果输入类似于 s = "xyzxyxz" t = "yz",则输出将是 4,因为我们可以删除子串 "abca"。为了解决这个问题,我们将遵循以下步骤:- left:= 一个新列表,right:= 也是一个新列表 c1:= -1,c2:= -1,c3:= -1 j:= 0 for i in range 0 到大小…… 阅读更多