ppround
发表于 2025-9-23 11:29:13
集合
甘棠
发表于 2025-9-24 10:16:08
答案是什么呢
arcarlie
发表于 2025-9-28 16:16:40
学习一下
余宏伟
发表于 2025-10-1 16:30:45
haystack = set(haystack)
wxw2015
发表于 3 天前
AI说加这一行#在注释处添加这行代码:
python
haystack = set(haystack)
```
。
原话:在注释处添加这行代码:
```python
haystack = set(haystack)
```
**解释:**
原始代码使用列表进行查找,时间复杂度为 O(n),每次 `each in haystack` 都需要遍历整个列表。对于 1000 次查找,总时间复杂度约为 O(1000 × 10,000,000) = 10^10 次操作。
转换为集合后,查找操作的时间复杂度变为 O(1),总时间复杂度约为 O(1000) 次操作。
**效率提升计算:**
- 列表查找:约 10^10 次比较
- 集合查找:约 1000 次哈希查找
- 提升倍数:约 10^10 / 10^3 = 10^7 倍(1000万倍)
这远远超过了要求的 10000 倍效率提升。
**注意:** 这行代码要放在 haystack 和 needles 定义之后,find() 函数之前。
Deninyu
发表于 前天 10:44
{:5_109:}
xut
发表于 昨天 09:02
haystack.sort()
xut
发表于 昨天 09:04
xut 发表于 2025-10-8 09:02
haystack.sort()
set 的 in 操作基于哈希表,平均时间复杂度为 O(1)
xut
发表于 昨天 09:05
xut 发表于 2025-10-8 09:04
set 的 in 操作基于哈希表,平均时间复杂度为 O(1)
老师牛逼,学到了。谢谢。
如默
发表于 昨天 09:52
感谢分享