动态规划 属于知识盲区了 也有可能实际中已经有运用到了,但是没有意识到这个问题
待我去补充一下关于动态规划相关的知识点,在回来完成
😣😣😣😣😣😣😣😣😣😣😣😣😣😣😣😣😣😣😣😣
【= 爬楼梯 =】
题目描述
解题思路
看了描述第一想法就是去找相应数学规律 没有其他想法 😮💨😮💨😮💨
幸好是找到了 : 爬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
}
暂时发一张福利图吧~~~