搜索
您的当前位置:首页正文

13 网格路径

来源:易榕旅网

从一个2×2方阵的左上角出发,只允许向右或向下移动,则恰好有6条通往右下角的路径。

方法一:坐标法,计算每个坐标经过的路径。

public class LatticePaths_13 {

	public static long LatticePaths(int right,int down,int num) {
		if(right == num || down == num) {
			return 1;
		}
		else if(right == num-1 && down == num-1) {
			return 2;
		}
		else{
			return LatticePaths(right+1,down,num) + LatticePaths(right,down+1,num);
		}
	}
	
	public static void main(String[] args) {
		System.out.println(LatticePaths(0,0,20));
	}

方法二:计数相加法,每个点的计数就是它的两个相邻坐标的计数和

public static long LatticePaths2(int n) {
	long[][] num1 = new long[n+1][n+1];
	long ans = 0;
	
	for(int i=0;i<=n;i++) {
		num1[i][0]=1;
		num1[0][i]=1;
	}
	for(int i=1;i<=n;i++) {
		for(int j=1;j<=n;j++) {
			num1[i][j] = num1[i-1][j] + num1[i][j-1];
		}
	}
	return num1[n][n];
	
	}

因篇幅问题不能全部显示,请点此查看更多更全内容

Top