一尘不染

查找两个单词是否彼此相似

algorithm

我正在寻找一种方法来查找两个字符串是否是彼此的字谜。

Ex: string1 - abcde
string2 - abced
Ans = true
Ex: string1 - abcde
string2 - abcfed
Ans = false

我想出的解决方案是对两个字符串进行排序并比较两个字符串中的每个字符直到每个字符串的结尾。这将是O(logn)。我正在寻找其他有效的方法,该方法不会更改正在比较2个字符串


阅读 365

收藏
2020-07-28

共1个答案

一尘不染

计算两个字符串中每个字符的频率。检查两个直方图是否匹配。O(n)时间,O(1)空间(假设ASCII)(当然,对于Unicode,它仍然是O(1)空间,但表将变得非常大)。

2020-07-28