gpt4 book ai didi

javascript - 比较两个字符串的时间复杂度

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:29:46 59 4
gpt4 key购买 nike

ff函数o(nlogn)的运行时间如何?

function isPermutation(a, b) {
if (a.length !== b.length) {
return false;
}
return a.split("").sort().join() === b.split("").sort().join();
}

你不是检查两个字符串的长度,还是取决于排序的实现?

最佳答案

根据Permutation的定义, 当且仅当第一个字符串中的所有字符也在第二个字符串中时,一个字符串是另一个字符串的排列。

示例:"answer""awerns" 的排列。

因此,要编写一种算法来检查一个字符串是否是另一个字符串的排列,您所要做的就是:

  1. 检查两个字符串的长度是否相同,如果不相同则返回false。

  2. 对于字符串一中的每个字母,检查它是否也存在于字符串二中。

上述算法的运行时间将为O(n*n)但您可以使用排序来解决同样的问题:

  1. 检查两个字符串的长度是否相同,如果不相同则返回false。
  2. 对两个字符串进行排序

  3. 字符串中的每个字符按顺序排列,如 stringOne[i] == stringTwo[i]

所以在这一个中,如果你使用像 Quick Sort 这样好的排序算法或 Merge Sort整体运行时间将为 O(n*logn)

关于javascript - 比较两个字符串的时间复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33704855/

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