美文网首页
动态规划js

动态规划js

作者: aaagu1234 | 来源:发表于2021-08-09 18:52 被阅读0次

求最大的输出和。从上到下累加和,只能往下或者下右( 比如: 7->3->8->7->5 这个就是最大值30)
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5

<script> 
//初始化二维数组,简单一点。
var arr = [];
arr[0] =[];
arr[0][0] = 7;
arr[1] =[];
arr[1][0] = 3;arr[1][1] = 8; 
arr[2] =[];
arr[2][0] = 8;arr[2][1] = 1; arr[2][2] = 0;
arr[3] =[];
arr[3][0] = 2; arr[3][1] = 7; arr[3][2] = 4; arr[3][3] = 4;   
arr[4] =[];
arr[4][0] = 4; arr[4][1] = 5; arr[4][2] = 2; arr[4][3] = 6;  arr[4][4] = 5;
var n = 5;
var maxSum = arr[n-1];
//1. 减2是因为要从倒数第二行开始
for(var i = n-2; i >= 0; i--){
  for(var j = 0; j <= i; j++){
    maxSum[j] = Math.max(maxSum[j], maxSum[j+1]) + arr[i][j]
  }
}
alert(maxSum[0])
// 2. 递归实现的
//   var n = 5;
// function maxsum(i,j){
 
//    if(i == n-1){
//      return arr[i][j];
//    }
//    var x = maxsum(i+1,j);
//    var y = maxsum(i+1,j+1);
 
//    console.log(x,y,arr[i][j]);
//    return Math.max(x, y) + arr[i][j];
// }
// var aa = maxsum(0,0)
// alert(aa)
</script>

第一种递推的算法,就是倒着两个依次累加更换掉倒数第二层,同理依次类推到arr[0][0] 就是累加出来的最大值。但是原来的arr数组已经改变了。
参考: https://blog.csdn.net/ailaojie/article/details/83014821

相关文章

  • 动态规划-js

    动态规划 参考:算法分析与设计-贪心&动归 漫画:什么是动态规划? 【数据结构与算法】 DP 动态规划 介绍 介绍...

  • 动态规划js

    求最大的输出和。从上到下累加和,只能往下或者下右( 比如: 7->3->8->7->5 这个就是最大值30)73 ...

  • js算法-动态规划

    自己只是随便写着,总结一下今天学到的东西,今天主要是看了算法和自己的毕设项目,真的是学习就是理论和实践相结合,不管...

  • 算法日记-动态规划法

    如何单独运行js文件: 1.安装node2.在命令窗口中输入 动态规划解题套路框架 动态规划问题的一般形式就是求最...

  • Algorithm进阶计划 -- 动态规划(上)

    动态规划动态规划的基本原理动态规划的运用 1. 动态规划的基本原理 动态规划(Dynamic Programmi...

  • 4. 动态规划算法

    1. 动态规划算法总结2. 漫画:什么是动态规划?3.算法之动态规划4. 动态规划-算法

  • 动态规划 Dynamic Programming

    从运筹学和算法的角度综合介绍动态规划 算法分类总结动态规划与静态规划的关系浅析静态规划和动态规划动态规划解非线性规...

  • 《数据结构与算法之美》27——初识动态规划

    前言 今天开始学习动态规划,一共有三节,分别是:初识动态规划、动态规划理论、动态规划实战。今天这一节就是初识动态规...

  • 算法3:动态规划

    5.动态规划5.1 什么是动态规划?5.2 自底向上的动态规划:5.3 自顶向下的动态规划5.4 0-1背包问题:...

  • 动态规划

    动态规划(Dynamic Programming) 本文包括: 动态规划定义 状态转移方程 动态规划算法步骤 最长...

网友评论

      本文标题:动态规划js

      本文链接:https://www.haomeiwen.com/subject/wjttbltx.html