递归 几个简单的点和杨辉三角

递归三点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;
	}

猜你喜欢

转载自blog.csdn.net/weixin_47198561/article/details/111311971
今日推荐