数出双层循环的次数

补全 count_two:两层嵌套、各跑 n 次,返回循环体执行了几次。 算 n = 5 的情况——和上一题比一比,这就是 O(n) 和 O(n²) 的差别。

开始练习 →

按下标取一个元素

从数组里按下标取一个元素,时间复杂度是【0】。

开始练习 →

从头到尾遍历一遍

把一个长度为 n 的数组从头扫到尾,时间复杂度是【0】。

开始练习 →

每次扔掉一半

每比一次就能排除掉剩下的一半(比如二分查找),复杂度是【0】。

开始练习 →

两两比较把整个数组过一遍又一遍

相邻两两比较、反复扫很多轮(比如冒泡排序),复杂度是【0】。

开始练习 →

二分找 24 要几步

在排好序的 [13, 15, 17, 23, 24] 里二分查找 24。运行下面这段程序,它数的是"比了几次": def bsearch_steps(a, target): lo = 0 hi = len

开始练习 →

从头挨个找呢

同一个数组,改成从头挨个找 24。运行下面这段程序: def lsearch_steps(a, target): steps = 0 for x in a: steps += 1 if x =

开始练习 →

给一段描述判出复杂度

补全 level:按描述返回复杂度。 四条对应关系:按下标取 → O(1);扫一遍 → O(n);每次扔一半 → O(log n);两层嵌套 → O(n²)。 这次问的是「两层嵌套」。 (⚠️ 表里四个量级只有 O(log n) 中间带空格

开始练习 →

自己数一遍二分要几步

补全 bsearch_steps:二分查找,返回一共比较了几次。 在 [13, 15, 17, 23, 24] 里找 13。

开始练习 →

空间复杂度算的是什么

空间复杂度算的是【0】。

开始练习 →