杨辉三角实现
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
······
一、杨辉三角里面的数据逻辑
1.第一行有一个元素,第n行有n个元素;
2.每一行的第一个元素和最后一个元素都是1;
3.从第三行开始,对于非第一个元素和最后一个元素的元素的值用代码实现(见第四条)
4.arr[i][j] = arr[i - 1][j] + arr [i - 1][j - 1]。(这个规律必须知道)
二、代码实现
package learn.Array;
public class yanghui {
public static void main(String []args){
//
int[][] yanghui = new int[10][];
for (int i = 0;i < yanghui.length; i++){
//kaipi一维数组开空间
yanghui[i] = new int[i + 1];
//给每个一维数组赋值
for (int j = 0;j < yanghui[i].length;j++){
//每一行的一个元素和最后一个元素都是1
if (j == 0 || j ==yanghui[i].length - 1){
yanghui[i][j] =1;
} else {
yanghui[i][j] = yanghui[i-1][j] + yanghui[i-1][j-1];
}
}
}
//输出杨辉三角
for (int i = 0;i < yanghui.length;i++){
for (int j = 0;j < yanghui[i].length;j++){
System.out.print(yanghui[i][j] + "\t");
}
System.out.println();
}
}
}
总结
首先用数学的思维去解读题,再去用代码实现,可以用化繁为简的方法。