递归代码模板
在写算法的时候,我们经常会碰到需要使用递归来进行结题的问题。这时候,我们可能没有模板可以参考,如果我们有一套模板可以在心里面作为参考的话,就只需要考虑这次递归需要把哪些递归条件加上就可以了,这时候我们的写代码的速度就会提高很多。
现在的时代,是数据的时代,如何利用好数据来进行更多的规划,以实现更高的收益及更好的程序性能。我们就需要掌握算法,以及数据结构,基础打好了,后面的敲代码心里都有谱了,事半功倍。
下面是递归模板,什么也不要想,记住,死记硬背就完了。
/**
* ReduceTemplate
*
* @author yjh
* @since 2020/11/23
*/
public class ReduceTemplate {
// final int MAX_LEVEL = 10;
//
// public void reduce(int level, int param){
//
// //终结条件
// if( level > MAX_LEVEL){
// //处理并返回
// return;
// }
//
// //处理当前逻辑
// processCurrentLogic(level, param);
//
// //往下层递归
// reduce(level: level+1, newParam);
//
// //存储或恢复当前状态,可以用来比如进行尾递归
// }
}
从上面看,普通递归也就是有四个逻辑。记住这四个条件和步骤,就可以在有递归解题的思路的时候直接写出来代码了。