数据范围 的爬楼梯题:递推式是 f(i) = f(i-1) + f(i-2),从 f(n) 一路递归下去。小禾给函数加上 memo 数组后宣布:「重复计算全没了,肯定不会再爆栈。」对这个结论的评价,正确的是( )。
- A. 对——每个状态只算一次,递归总次数大幅变少,栈就不会满
- B. 对——
memo是全局数组,程序改用堆内存后自动不占系统栈 - C. 不对——
memo治的是「重复算」,治不了「叠得深」:第一次算f(n)仍要一口气递归十万层,系统栈照样爆 - D. 不对——爆栈是
memo数组开得太大挤出来的,把数组开小一些就能防住