編程中經典的算法很多,其中楊輝三角突出表明我國國代數學發展的極致,也是面試算法中常常問到的問題:
@Test
public void test() {
int row = 8 ;
// 在循環中依次保存當前行上一行每個元素的值
int prev = 1;
int[] arr = new int[row];
for( int i = 0; i < row; i++) {
// 等腰處理
for(int n=i; n<=row; n++) {
System.out.print(" ");
}
for( int j = 0; j <= i; j++) {
// 將上一行當前下標元素的值保存
int cur = arr[j];
// 當前元素等於上一行當前元素和上一行當前元素前一個元素之和
arr[j] = prev + cur;
// 對於下一圈循環,prev保存了當前行上一行元素前一個元素,即prev與cur保存的值一前一後
prev = cur;
System.out.print( arr[j] + " " );
}
System.out.println();
}
}