博客
关于我
不同路径--动态规划
阅读量:321 次
发布时间:2019-03-04

本文共 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];    }}

在这里插入图片描述

转载地址:http://peeq.baihongyu.com/

你可能感兴趣的文章
Codeforces Global Round 11 个人题解(B题)
查看>>
LeetCode75 颜色分类 (三路快排C++实现与应用)
查看>>
GDB调试基础使用方法
查看>>
Codeforces 1092C Prefixes and Suffixes【字符串+思维】
查看>>
HHKB 键盘布局记录以及一些闲言碎语
查看>>
AIsing Programming Contest 2020 游记 (ABC水题,D思维)
查看>>
【译】N 皇后问题 – 构造法原理与证明 时间复杂度O(1)
查看>>
docker基础:容器生命周期管理命令
查看>>
Shell脚本学习指南
查看>>
日志切分神器--logrotate
查看>>
C#3.0新增功能08 Lambda 表达式
查看>>
C#开发BIMFACE系列35 服务端API之模型对比6:获取模型构建对比分类树
查看>>
C# 规范建议
查看>>
.NET 5.0正式发布,新功能特性(翻译)
查看>>
重磅推出:AutoProject Studio 自动化项目生成器
查看>>
INotifyPropertyChanged 接口
查看>>
一些有趣的线段树玩法
查看>>
DP做题记录
查看>>
Go语言中的数组与数组切片
查看>>
操作系统启动过程
查看>>