递归三点1、找 临界点2、满足临近点的解决办法3、提取相同的逻辑
一般return(函数自己)
杨辉三角:
public static int getValue(int x,int y){
//临界点
if(y==0||x==y){
//解决临界点的办法
return 1;
}
//提取相同的逻辑,缩小问题规模。
return getValue(x-1,y-1)+getValue(x-1,y);
}
斐波那契数列的递归实现及优化
static HashMap<Integer,Long> map = new HashMap<Integer,Long>();
private static long ribbit02(int month) {
cnt++;
// 定义方法的结束条件
if (month == 1 || month == 2) {
return 1;
}
// 通过月份获取对应月份对数
Long num = map.get(month);
if (num == null) {
num = ribbit02(month - 1) + ribbit02(month -2);
map.put(month, num);
}
return num;
}