观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。
在上面的样例中,从1313到88到2626到1515到2424的路径产生了最大的和8686。
从大佬哪找的图解:数字金字塔(动态规划)_yanyanwenmeng的博客-CSDN博客_数字金字塔动态规划
```Java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[][] num = new int[1001][1001];
int n = sc.nextInt();
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++)
num[i][j] = sc.nextInt();
}
}
for(int i=n-1;i>=1;i--){
for(int j=1;j<=i;j++){
num[i][j] += num[i+1][j]>num[i+1][j+1]?num[i+1][j]:num[i+1][j+1];
}
}
System.out.println(num[1][1]);
}
}