day31 | 一探动规

刚开始的动规几道题基本都是爬楼梯的变形。

*****************

这题主要问题的到达的是下标为 n 的位置而不是n-1,所以列 dp 的时候空间要给大一下。

然后既然到 fib 数了就复习一下尾递归的知识.

常规递归的过程是:每次函数调用时需要记录当前函数上下文的信息,包括传入参数、局部变量值等,并将这些信息保存在栈空间(也称调用栈或运行时栈)中。

举个例子来说。

- 当一个函数 fib 返回值是 fib(n-1)+fib(n-2)时,函数结束前需要执行相加的操作,所以编译器不会丢弃掉这些信息。

- 而如果返回值是fib(n-1,ret2,ret1+ret2)就不用保存原函数的信息,就可以减少栈空间,防止stackoverflow

全部评论

相关推荐

头像
昨天 18:46
已编辑
中南大学 Java
点赞 评论 收藏
分享
10-24 11:10
山西大学 Java
若梦难了:哥们,面试挂是很正常的。我大中厂终面挂,加起来快10次了,继续努力吧。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务