leetcode算法入门系列学习12(动态规划)『 爬楼梯| 打家劫舍| 三角形最小路径和 』


动态规划 属于知识盲区了 也有可能实际中已经有运用到了,但是没有意识到这个问题
待我去补充一下关于动态规划相关的知识点,在回来完成
😣😣😣😣😣😣😣😣😣😣😣😣😣😣😣😣😣😣😣😣

【= 爬楼梯 =】

题目描述

传送门

解题思路

看了描述第一想法就是去找相应数学规律 没有其他想法 😮‍💨😮‍💨😮‍💨
幸好是找到了 : 爬n级台阶的方法 = 爬n-1级台阶的方法 + 爬n-2级台阶的方法
剩下的可以开始递归求解了 😀😀😀

解题方法

  • PHP
 function climbStairs($n) {
	    if($n <=2) return $n;
	    $prev = 1; //从n-2节爬到n节楼梯的方法 初始为1节楼梯
	    $prev2 = 2; // 从n-1节爬到n节楼梯的方法 初始为2节楼梯
	    for($i = 3; $i<=$n; $i++) {
	        // 爬n节楼梯 = 爬n-1节楼梯 + 爬n-2节楼梯
	        $curr = $prev2 + $prev;
	        // 替换n-1和n-2节楼梯数
	        $prev = $prev2;
	        $prev2 = $curr;
	    }
	    return $prev2;
	}

在这里插入图片描述

  • GO
func climbStairs(n int) int {
    if n <= 2 { return n}
    prev, prev2 := 1, 2
    for i:=3;i<=n;i++ {
        curr := prev2 + prev
        prev = prev2
        prev2 = curr
    }
    return prev2
}

在这里插入图片描述

暂时发一张福利图吧~~~
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bennett_G

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值