===================================================================
思路:
1.分析动态规划:
本题当中的求取最终结果依然是跳跃性的,也就是后面的选择有可能要比前面好
故判定为动态规划
2.本题当中可以将输入的数据输入二维数组当中,将其放置在下三角形当中
3.通过分析数据 :我们可以得出一个递推方程
就是每次和其上方和左上方所对应的数相加,选取较大的数填写在网格当中
m[i][j] = max(m[i-1][j]+m[i][j],m[i-1][j-1]+m[i][j])
4.然后就可以在最后一行选取一个较大的结果就是路径和最大的值
5.本题的递推方程思路和最长公共子序列类似,都是建好网格后找递推方程
===================================================================
/**
思路:
1.分析动态规划:
本题当中的求取最终结果依然是跳跃性的,也就是后面的选择有可能要比前面好
故判定为动态规划
2.本题当中可以将输入的数据输入二维数组当中,将其放置在下三角形当中
3.通过分析数据 :我们可以得出一个递推方程
就是每次和其上方和左上方所对应的数相加,选取较大的数填写在网格当中
m[i][j] = max(m[i-1][j]+m[i][j],m[i-1][j-1]+m[i][j])
4.然后就可以在最后一行选取一个较大的结果就是路径和最大的值
*/
#include<bits/stdc++.h>
using namespace std;
int main(){
int N;
cin >> N;
int a[N+1][N+1];
//初始化数组a (升级新技能 不在写for循环进行初始化了)
memset(a,0,sizeof(a));
for(int i = 1; i <= N; i++){
for(int j = 1; j <= i; j++){
cin >> a[i][j];
}
}
// for(int i = 0; i <= N; i++){
// for(int j = 0; j <= N; j++){
// cout << a[i][j] << ’ ';
// }
// cout << endl;
// }
先自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以扫码领取!
最后
Java架构进阶面试及知识点文档笔记
这份文档共498页,其中包括Java集合,并发编程,JVM,Dubbo,Redis,Spring全家桶,MySQL,Kafka等面试解析及知识点整理
Java分布式高级面试问题解析文档
其中都是包括分布式的面试问题解析,内容有分布式消息队列,Redis缓存,分库分表,微服务架构,分布式高可用,读写分离等等!
互联网Java程序员面试必备问题解析及文档学习笔记
Java架构进阶视频解析合集
架构,分布式高可用,读写分离等等!
[外链图片转存中…(img-Jtbr5Cd0-1711358017899)]
互联网Java程序员面试必备问题解析及文档学习笔记
[外链图片转存中…(img-M4nyUKRk-1711358017899)]
Java架构进阶视频解析合集
需要更多Java资料的小伙伴可以帮忙点赞+关注,点击传送门,即可免费领取!