题目描述:
示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的总和最大。 每一步可沿左斜线向下或右斜线向下走; 1< 三角形行数< 25; 三角形中的数字为整数< 1000;
代码:
java
package lanqiao;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][] arr = new int[n][n];
for(int i = 0;i < n;i ++)
{
for(int j = 0;j <= i;j ++)
{
arr[i][j] = sc.nextInt();
}
}
for(int i = n - 2;i >= 0;i --)
{
for(int j = 0;j <= i;j ++)
{
arr[i][j] += Math.max(arr[i + 1][j],arr[i + 1][j + 1]);
}
}
System.out.println(arr[0][0]);
}
}