1536数字三角形
⭐️难度:中等
🌟考点:动态规划
📖
📚
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int[][] dp = new int[102][102];int[][] a = new int[102][102];int n = sc.nextInt();for (int i = 1; i <= n; i++) {for (int j = 1; j <= i; j++) {a[i][j] = sc.nextInt();}}dp[1][1] = a[1][1];for (int i = 2; i <= n; i++) {for (int j = 1; j <= i; j++) {dp[i][j] = Math.max(dp[i-1][j-1],dp[i-1][j]) + a[i][j];}}int ans = 0;for (int i = 1; i <= n; i++) {ans = Math.max(ans,dp[n][i]);}System.out.println(ans);}
}
🍎笔记