【算法通关村】递归

递归

递归的特征

1.执行时范围不断缩小,这样才能触底反弹。

2.终止判断在调用递归前面。

在执行递归之前,一定会有一个终止条件。

启示我们,先考虑清楚什么情况下终止,而且相关代码要写在靠前位置,之后再考虑递归的逻辑,遮阳降低编写的难度。

⭐如何写递归

1.从小到大递归。

先猜测递归关系,不需要证明,用几个较小的值验一下,再用几个较大的值验一下。

2.分情况讨论,明确结束条件

终止条件可能不止一个。

不一定是触底才开始反弹,而是达到某种要求就停止。枚举试一下。

只有列举清楚了才可能将终止条件写完整,所以在面试的时候千万不要上来就写,而应该先和面试官讨论你的设计方案,不要害怕与面试官讨论!假如有明显的缺陷他甚至会提醒你的,所以这也是借力打力的一个技巧。

3.组合出完整方法。

先分情况写出来,再看能否精简优化,不要步子迈太大。

4.想验证,则从大到小画图推演。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值