假设我们有两个字符串 s 和 t,我们需要找到包含 t 中所有字符的 s 的最小子字符串的大小。如果没有这样的子字符串存在,则返回 -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:= 一个新的映射对于 s 中的每个 i,… 阅读更多
假设我们有一个字符串 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 到大小… 阅读更多