原地反转一个数组
用两个指针在原数组上把它反转过来,空间复杂度是【0】。
开始练习 →
递归的空间复杂度看什么
一个递归函数的空间复杂度,主要取决于【0】。
开始练习 →
复制一份要多占几个格子
运行下面这段程序,它数的是"额外开了几个格子": A = [17, 24, 15, 13, 23] extra = 0 copy = [] for x in A: copy.append(x) extra
开始练习 →
原地做呢
同一个数组,改成原地反转。运行下面这段程序: A = [17, 24, 15, 13, 23] extra = 0 i = 0 j = len(A) - 1 while i < j: A[i], A[j] = A[j], A[
开始练习 →
数一数额外开了几个格子
补全 copy_extra:把数组复制一份,返回额外开了几个格子。
开始练习 →
原地版和复制版差多少
补全 compare:返回复制版额外格子数/原地版额外格子数(用 / 隔开)。 ⚠️ 原地版一个新格子都不开。
开始练习 →
递归压了几层栈
补全 depth:用递归算阶乘,顺便返回递归最深压了几层。 算 n = 5 的情况——这个数就是它的空间复杂度。
开始练习 →
前缀和是什么
前缀和的做法是【0】。
开始练习 →
有了前缀和之后,查区间和要多久
建好前缀和之后,查任意一段区间的和只要【0】。
开始练习 →
前缀和的代价是什么
前缀和不是白拿的,它的代价是【0】。
开始练习 →