MST

星途 面试题库

面试题:Python列表特殊元素检查的性能优化与算法设计

有一个非常大的列表`large_list`,其中包含数百万个元素,既有数字又有字符串。要求设计一个高效的Python算法,在尽量少的内存占用和最短的时间内,统计出所有长度大于5的字符串元素的数量,并且要说明算法的时间复杂度和空间复杂度。
19.7万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
def count_long_strings(large_list):
    count = 0
    for item in large_list:
        if isinstance(item, str) and len(item) > 5:
            count += 1
    return count
  1. 时间复杂度:算法通过遍历一次列表来统计符合条件的字符串数量,因此时间复杂度为 ( O(n) ),其中 ( n ) 是 large_list 中的元素个数。
  2. 空间复杂度:除了输入的列表外,算法只使用了常数级别的额外空间来存储 count 变量,所以空间复杂度为 ( O(1) )。