假设我们有两个字符串 s 和 t。我们必须检查是否可以使用 s 的字符形成 t。
因此,如果输入类似于 s = "owleh" t = "hello",那么输出将为 True。
为了解决这个问题,我们将按照以下步骤操作 -
freq := 包含所有字符及其频率的映射
对于范围 0 到 t - 1 大小的 i,请执行
返回错误
如果 freq[t[i]] 为 0,则
频率[t[i]] := 频率[t[i]] - 1
返回真
让我们看看以下实现以获得更好的理解 -
from collections import defaultdict def solve(s, t): freq = defaultdict(int) for i in range(len(s)): freq[s[i]] += 1 for i in range(len(t)): if freq[t[i]] == 0: return False freq[t[i]] -= 1 return True s = "owhtlleh" t = "hello" print(solve(s, t))
"apuuppa"输出结果
True