在字符串数组中查找最小值/最大值的时间复杂度

问题描述 投票:0回答:1

假设我有一个由字符串元素组成的数组/列表,例如: arr=["abcd","abdd","abba", "abca"] 我想在这里找到最小和最大元素(即 abba 和 abdd),运行 min(arr) 的时间复杂度是多少/max(arr) 函数在这里。

我知道对于数字元素,我们可以做到 O(n),因为每一步只有 1 次比较。 但是当我们比较两个字符串时,我们必须迭代它的字符来进行比较。那么这样就可以了吗 某个地方的 O(n^2) 量级??

python string max
1个回答
0
投票

您只需迭代列表一次即可比较两个元素:当前元素与最小值和最大值。这是 2*n 次比较,所以仍然是 O(n)

© www.soinside.com 2019 - 2024. All rights reserved.