检查一个字符串的字符是否可以在 Python 中交换为另一个字符串

假设我们有两个字符串 s 和 t,我们必须检查是否可以通过交换 s 的字符来生成 t。

因此,如果输入类似于 s = "worldlloeh" t = "helloworld",那么输出将为 True,因为我们可以将字符从 "worldlloeh" 交换为 "helloworld"。

为了解决这个问题,我们将按照以下步骤操作 -

  • s_len := s 的大小,t_len := t 的大小

  • 如果 s_len 与 t_len 不同,则

    • 返回错误

  • freq := 将所有字符及其频率存储在 s 中的映射

  • 对于 0 到 t_len 范围内的 i,请执行

    • 返回错误

    • 频率[t[i]] := 频率[t[i]] - 1

    • 如果 freq[t[i]] < 0,则

  • 返回真

让我们看看以下实现以获得更好的理解 -

示例

from collections import defaultdict

def solve(s, t):

   s_len = len(s)

   t_len = len(t)

   if (s_len != t_len):

      return False

   freq = defaultdict(int)

   for char in s :

      freq[char] += 1

   for i in range(t_len) :

      freq[t[i]] -= 1

      if freq[t[i]] < 0:

         return False

   return True

s = "worldlloeh"

t = "helloworld"

print(solve(s, t))

输入

"worldlloeh", "helloworld"
输出结果
True

以上是 检查一个字符串的字符是否可以在 Python 中交换为另一个字符串 的全部内容, 来源链接: utcz.com/z/317488.html

回到顶部