赞
踩
问题描述:从数塔的顶层出发,在每一个结点可以选择向左走或向右走,一直走到最底层,要求找出一条路径,使得路径上的数值和最大。
示例:
思路:
一、用一个二维数组初始化数塔数据:data[n][n]
二、定义一个二维数组maxArr[n][n],用来存储动态规划每一步的决策结果,最后maxArr[0][0]中存储的就是数塔问题的最优解。
三、定义一个二维数组pathArr[n][n],用来保存每一次决策所选择的数字在数组data[n][n]中的列下标。
public class Tower {
public static void main(String[] args) {
int[][] data = {
{
8}, {
12, 15}, {
3, 9, 6}, {
8, 10, 5, 12}, {
16, 4, 18, 10
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。