学习了动态规划的大体思路以及它的特征,接下来需要思考我们用动态规划解决哪些问题?比如在蓝桥杯中适用于解决那些实际算法问题。
适用的问题类型:需要列举出所有的答案,并且存在重叠子问题。
动态规划经典应用场景👇

动态规划的核心思想👇

动态规划解决问题的思路👇

BFS(简单理解就是一行一行的看)实现方式👇

得到信息:①第一行一个数字,第二行二个数字,以此类推第n行n个数字。
②一次只走一层
③从当前层看每层选择右下或者左下最大的数字,谁大就加上哪一个每一层我们必须记录过程(记录最大值)。

public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
int arr[][]= new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {//第n行有n个数字
arr[i][j]=scanner.nextInt();
}
}
for (int i = n-1; i > 0; i--) {
for (int j = 0; j < i; j++) {
int max=0;
max=Math.max(arr[i][j], arr[i][j+1]);//左右比较
arr[i-1][j]+=max;//记录
}
}
System.out.println(arr[0][0]);
}
答案为30!