题解 | #矩阵的最小路径和#

矩阵的最小路径和

https://www.nowcoder.com/practice/38ae72379d42471db1c537914b06d48e

只能向下或者向右走,就是所在点只能由左边或者前边的点走过来,

对于当前的点就有 dp[i][j]=a[i][j]+min(dp[i-1][j],dp[i][j-1])

考虑到i=1,j=1的情况,直接对dp[1][1]赋值并且循环时跳过他,同时考虑到在i=1或者j=1时可能会越界,对二维dp数组先进行描边,大概看下数据给一个比较大的数就行。

贴上我丑丑的代码

for(int i=0;i<=n+1;i++){//描边

        dp[i][0]=dp[i][m+1]=1e8;

        dp[0][i]=dp[n+1][i]=1e8;

    }

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

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

            cin>>a[i][j];

        }

    }

    dp[1][1]=a[1][1];

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

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

            if(i==1&&j==1continue;

            dp[i][j]=a[i][j]+min(dp[i-1][j],dp[i][j-1]);

        }

    }

全部评论

相关推荐

一面052350min1.自我介绍2.在学校里的经历3.你希望测试开发岗位里的测试工作和开发工作占比是多少?4.实习拷打,详细拷打实习中做过的接口自动化项目5.为什么接口自动化项目选择pytest?6.设计测试用例会考虑哪些点?7.用过jekins的什么功能,了解过它底层的实现吗8.技术栈是?熟悉的编程语言?9.口述思路:二叉树的遍历10.手撕:二分查找11.浏览器输入url到展示页面的全流程?12.进程和线程13.死锁14.慢查询15.读过有关测试的技术书籍吗16.写测试自动化时用过python的哪些库?17.反问(作业帮直播业务,给学生直播上课之类的)&nbsp;二面052755min1.自我介绍2...
一笑而过2222:1. String和StringBuffer区别:String是不可变、线程安全(因不可变特性)的,每次操作会创建新对象,适合只读场景;StringBuffer是可变、线程安全(方法加锁)的,可直接修改对象,适用于多线程环境下频繁修改字符串的场景 。 2. Java的垃圾回收器:Java垃圾回收器是JVM自动管理内存的组件,基于分代收集理论,通过标记-清除、复制、标记-整理等算法回收不再使用的对象,常见类型有Serial、Parallel、CMS、G1等,分别适用于不同性能需求场景。 3. Java的序列化:Java序列化是将对象转换为字节序列以便存储或传输的机制,对象所属类需实现Serializable接口,反序列化可将字节流恢复为对象,常用于分布式通信、数据持久化和对象深拷贝等场景。
查看24道真题和解析 面经...
点赞 评论 收藏
分享
买蜜雪也用卷:我觉得应该没有哪个人敢说自己熟练使用git,代码分支一复杂还是得慢慢寻思一下的,不过基本的拉代码提交代码还有分支什么的是应该会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务