杨辉三角是一种常见的几何排列,也经常会被涉及到,所以这里用Java不规则数组对杨辉三角进行实现。
public void YangHuiTriangle(int row) { //row为需要的三角高度
int[][] a = new int[row][]; //构造一个二维数组,并指定行数
for (int i = 0; i < a.length; i++) { //循环每行指定列数
a[i] = new int[i + 1];
}
a[1][1] = a[1][0] = a[0][0] = 1; //初始化前两行参数
for (int x = 2; x < a.length; x++){ //从第二行开始,每行进行循环
a[x][0]=1; //每行第一个数为1
for (int y = 1; y < a[x].length-1; y++) {
a[x][y]=a[x-1][y]+a[x-1][y-1]; //中间的数等于上一行相同位置和前一位的数
}
a[x][a[x].length-1]=1; //每行末尾的数为1
}
for(int i = 0 ; i<a.length;i++){
System.out.println(Arrays.toString(a[i]));
//打印每行,Arrays.deepToString()也可以直接打印二维数组,不过横排不方便观看
}
}
调用此方法,输入高度为10,结果如下图: