返回题解分享
讨论 / 题解分享/ 帖子详情

数字三角形 - 题解

import java.util.Scanner;

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();
            }
        }

        int[][] dp=new int[n+1][n+1];


        for (int i = 0; i < n; i++) {
            for (int j = 0; j <= i; j++) {
                dp[i+1][j+1]=Math.max(dp[i][j],dp[i][j+1])+arr[i][j];
            }
        }

        int max=0;
        for (int i = 0; i < n; i++) {
             max=Math.max(dp[n][i],max);

        }
        System.out.println(max);
    }
}
0 回复 0 转发 0 喜欢 3 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!