数字三角形问题

原创 2016年08月30日 15:32:17

方法一:

  递归:

  代码如下:

         int solve(int i,int j){

           return a[i][j]+(i==n?0:max(solve(i+1,j),solve(i+1,j+1)))      //效率太低,起原因在于重复计算

       }

方法2:

递推计算:

代码如下:

     int i,j;

  for(int j=1;j<=n;j++) d[n][j]=a[n][j];

 for(int i=n-1;i>+1;i++)

 for(int j=1;j<i;j++){

     d[i][j]=a[i][j]+max(d[i+1][j],d[i+1][j+1]);

}


方法3:

记忆化搜索:在递归的思想上加以优化,不会出现重复计算

代码如下:

memset(d,-1,sizeod(d));//将d[ ] 初始化为-1

int solve(int i;int j){

if(d[i][j]>=0) return d[i][j];   //已求

return d[i][j]=a[i][j]+max(d[i+1][j],d[i+1][j+1]);

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

蓝桥杯-动态规划-java算法训练 数字三角形

问题描述   (图3.1-1)示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路   径,使该路径所经过的数字的总和最大。   ●每一步可沿左斜线向下或右斜线向下走;   ●1<三角形行数...
  • qq_34594236
  • qq_34594236
  • 2016年04月16日 09:51
  • 2688

【算法】数字三角形问题

 1.问题描述:如右图所示,从数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最小(也有的求最大值),路径上的每一步都只能往左下或右下走。...
  • u010119170
  • u010119170
  • 2014年08月27日 09:33
  • 2204

经典动态规划问题--数字三角形 POJ--1163

经典动态规划问题--数字三角形 POJ--1163
  • linsheng9731
  • linsheng9731
  • 2014年04月16日 13:38
  • 1452

【动态规划】数字三角形问题

Description 给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,对于给定的由 n行数字组成的数字三角形, 计算从三角形的顶至底的路径经过的数字和的最大值。 注意:...
  • u010932314
  • u010932314
  • 2014年07月08日 17:36
  • 1206

蓝桥杯 数字三角形(java题解)

问题描述   (图3.1-1)示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路   径,使该路径所经过的数字的总和最大。   ●每一步可沿左斜线向下或右斜线向下走;   ●1<三...
  • qq_15370821
  • qq_15370821
  • 2016年06月02日 09:36
  • 1181

Codevs 数字三角形 问题合集

1220 数字三角形 时间限制: 1 s    空间限制: 128000 KB    题目等级 : 黄金 Gold 题目描述 Description 如图所示的数字三...
  • qq_35776409
  • qq_35776409
  • 2017年03月17日 16:19
  • 150

算法:动态规划2 数字三角形路径最短

题目描述 Description如图所示的数字三角形,从顶部出发,在每一结点可以选择向左走或得向右走,一直走到底层,要求找出一条路径,使路径上的值最大。 输入描述 Input Description第...
  • Shine_WuSilence
  • Shine_WuSilence
  • 2016年12月10日 10:34
  • 394

[LintCode 109] 数字三角形(Python)

题目描述给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。注意事项 如果你只用额外空间复杂度O(n)的条件下完成可以获得加分,其中n是数字三角形的总行数。样例 ...
  • yurenguowang
  • yurenguowang
  • 2017年08月30日 14:46
  • 525

算法 -- 数字三角形之动态规划

好久没有好好写算法啦,因此今天晚上就思考实现老师说的一道算法题目: 用动态规划求解数字三角形. 下面简单描述下题目含义: 数字三角形中的数字要求为不超过100的非负整数.题目规定从最顶层开始往下走...
  • u013166575
  • u013166575
  • 2015年11月20日 01:10
  • 1952

Java实现-数字三角形

给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。  注意事项 如果你只用额外空间复杂度O(n)的条件下完成可以获得加分,其中n是数字三角形的总行...
  • qq_14927217
  • qq_14927217
  • 2017年06月21日 20:38
  • 629
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数字三角形问题
举报原因:
原因补充:

(最多只允许输入30个字)