递归算法
递归算法
递归(recursion):程序调用自身的编程技巧。
递归满足2个条件:
1.有反复执行的2过程。(调用自身)
2.又跳出反复执行的条件。(递归出口)
面试例子:(斐波那契数列)
斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……
这个数列从第三项开始,每一项都等于前两项之和。
解决思路就是首先找出规律在把这规律写成代码封装到一个方法中,你需要的是第N个数字就把N带入方法中。
public static int dgArithmetic(int n) { if (n == 1) { return 1; } else if (n == 2) { return 1; } else { int i = dgArithmetic(n - 2) + dgArithmetic(n - 1); return i; } }
int a= dgArithmetic(7);//7代表的是我需要的是第七个的数字