
不同路径--动态规划
发布日期:2021-05-07 02:59:50
浏览次数:20
分类:精选文章
本文共 927 字,大约阅读时间需要 3 分钟。
不同路径

class Solution { public int uniquePaths(int m, int n) { /* 如何做? 动态规划 重叠子问题 计算型动态规划 确定状态: 到 右下角(m,n)的格子的路径 = 到(m-1,n)的路径 + 到(m,n-1) 的路径和 思考为什莫? 1.判断有无重复 ? 2 .判断有无遗漏? 我们每次智能向右 向下走 所以到达某个格子一定是没有重复的 子问题 到(m,n) 转化为到 (m-1 ,n )+ (m,n-1)智能从上面或者左边到达 (加法原理) 边界条件: 多少条路径到达第一行和第一列? 最左上角第一个格子只能原地一种方法 到达第一行的所有格子智能有一条路 到达一一列的所有格子只能向下走这一条路 计算顺序: 我们每一次计算都需要用到该格子的上面和左面的格子的路径数量 所以我们从上向下从左到右进行计算 地推方程: f[i][j]设置为到达i,j 格子的 路径的总数量 f[i][j] = f[i][j-1] + f[i-1][j] */ int f[][] = new int[m][n]; for(int i = 0 ;i < m ; i++){ for(int j = 0 ; j < n ;j++){ if(i==0 || j==0){ f[i][j] =1; }else{ f[i][j] = f[i][j-1]+f[i-1][j]; } } } return f[m-1][n-1]; }}
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月12日 13时16分27秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
hdu6434 Problem I. Count(数论)(好题)
2021-05-08
NC15553 数学考试(线性DP)
2021-05-08
MySQL两阶段提交、崩溃恢复与组提交
2021-05-08
MySQL隐藏文件.mysql_history风险
2021-05-08
如何通过文件解析MySQL的表结构
2021-05-08
ClickHouse 适用场景调研文档
2021-05-08
C++的编译过程及原理
2021-05-08
Vue——父组件将方法传递给子组件
2021-05-08
文件加密软件对于企业发展而言有何优势?局域网数据防泄密工作应该如何入手?
2021-05-08
Beautiful Soup基础入门
2021-05-08
点击控制盒子移动
2021-05-08
js求阶乘
2021-05-08
小程序图片正确使用方式(防止发布之后不显示)
2021-05-08
C++基础学习笔记08——模板
2021-05-08
Java学习
2021-05-08
Js函数
2021-05-08
Python机器学习算法基础概述
2021-05-08
关于OCR的一些有用的技术博客文章链接
2021-05-08