检查第二个字符串是否可以由 Python 中第一个字符串的字符组成

假设我们有两个字符串 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

    猜你喜欢