leetcode-62-dp经典算法题笔记

在这里插入图片描述

然后开始分析一下,首先知道,这题肯定是dp思路的,虽然也能回溯,但是主要还是说dp,做个笔记。

做dp题最重要的就是写出状态转移方程。

我先举几个例子,从中寻找一下规律,因为dp思想规律都是差不多的,只不过题型太多而已。我每一个例子c(m,n)的结果都是指,到右下角移动的总步数

咱们就从最小的1*1来说 c(1,1)=1
1 * 2 / 2 * 1 : c(1,2)/c(2,1)=1
2 * 2:c(2,2)=1+1
2 * 3 : c(2,3)=c(2,2)+c(1,3)=2+1
3 * 3 : c(3,3)=c(2,3)+c(2,3)=3+2+1
2 * 4 : c(2,4)=c(2,3)+c(1,4)=3+1
3 * 4 : c(3,4)=c(2,4)+c(3,3)=6+3+1
4 * 4 : c(4,4)=c(3,4)+c(3,4)=10+6+3+1

上面的计算结果我是自己画图得到的,我们可以得出以下结论:

  1. 当计算更大的地图,我们需要已经计算出的小地图的结果
  2. 因为只能右移和下移,所以很多很复杂的情况不用考虑了,也就是绕远的情况
  3. 可以根据结果写出数学公式了
  4. c(m,n) 里面哪个最小,在单项式加在一起的个数就是那个最下的个数,比如c(3,4)肯定是三个数在加

接下来我们写数学公式计算后面的

c(m,n) = c(m-1,n)+c(m,n-1)

然后就很简单了,编程基础·····代码我就不贴了吧,评论栏都有的,下面每一个体型我都会记录的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值