求职冲刺
复杂度分析
理解时间和空间复杂度
- 理解大O表示法
- 分析常见算法复杂度
- 识别代码效率
大O表示法
示例代码(可运行)
Python 0%
常见复杂度排序
示例代码(可运行)
Python 0%
预测输出
print(1000000 in set(range(100)))找 BugO(n²)嵌套循环,用set可优化到O(n)。
def has_duplicate(lst):
for i in range(len(lst)):
for j in range(i+1,len(lst)):
if lst[i]==lst[j]: return True
return False
填空题填写空白处的代码
二分查找的时间复杂度是O( n)
选择题
字典d[key]查找的复杂度?
资深工程师加餐
底层原理 · 大厂视角 · 工程经验,点卡片展开
时间复杂度看「基本操作次数随输入规模 n 的增长量级」,空间复杂度看额外占用的内存;还要区分最好、最坏、平均与均摊。面试时先给能工作的暴力解并说明其复杂度,再一步步优化到更优——面试官评估的往往是你的推导过程,而不只是你是否背出了最优答案。
挑战任务
复杂度挑战
简单+50 XP
分析三种求和方法的复杂度。
复杂度挑战
Python 0%
2 个测试用例
课后作业
优化查找
中等+20 XP
将O(n²)的重复检查优化为O(n)。
优化查找
Python 0%
1 个测试用例