gpt4 book ai didi

python - 检查两个字符串的排列

转载 作者:行者123 更新时间:2023-11-28 19:54:51 26 4
gpt4 key购买 nike

<分区>

我确实有一个问题,我正在尝试使用最有效的方法来解决它。

“给定两个字符串,找出这两个字符串是否是彼此的排列。”

我知道最简单的方法(即对两个字符串进行排序)等。

我想看看我的方法是否适用于所有情况,但我不确定,所以我需要您的意见和意见。

def CheckPermutaionsBySumUp(firstString, secondString):
if (len(firstString) != len(secondString)):
return False

firstStringCount = 0
secondStringCount = 0

for char in firstString:
firstStringCount += ord(char)

for char in secondString:
secondStringCount += ord(char)

if firstStringCount == secondStringCount:
return True

return False

所以我的方法是,我确实有一个约束可以帮助解决这个问题,如果两个字符串的长度不同,那么这两个字符串就不是彼此的排列。

然后,知道每个字符都有一个唯一的数字表示,如果我使用 ord 函数对每个字符串的每个字母的数量求和,然后我可以比较两个总和并找出是否这两个字符串是排列。在我看来,这个解决方案不仅是 O(n),而且比使用数组和数据结构更节省空间。

我唯一担心的是,两个长度相同但字符不同的字符串是否有可能具有相同的总和?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com