问题描述:从数塔的顶层出发,在每一个结点可以选择向左走或向右走,一直走到最底层,要求找出一条路径,使得路径上的数值和最大。
示例:
思想:
6.3 数塔问题
package main.com.edu.shengda.suanfa;
import java.util.Scanner;
public class ShuTa {
public static void tpWalk(int[][] tower) {
//定义一个 tower.length 层的数组
int[][] dpTower = new int[tower.length][];
//把最底层地址赋值给dpTower 打印两个数组发现地址一样
dpTower[tower.length - 1] = tower[tower.length-1];
//从倒数第二层循环
for(int i = tower.length - 2;i >= 0;i--) {
//把前i层的数据拷贝赋给dpTower 打印两个数组发现地址不一样
//tower[i][I@30f39991
//dpTower[i][I@452b3a41
dpTower[i