久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

基于Go和PHP語言實現爬樓梯算法的思路詳解

瀏覽:148日期:2022-09-10 11:46:24

爬樓梯(Climbing-Stairs)

題干:

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢?注意:給定 n 是一個正整數。示例 1: 輸入: 2 輸出: 2 解釋: 有兩種方法可以爬到樓頂。 1. 1 階 + 1 階 2. 2 階示例 2: 輸入: 3 輸出: 3 解釋: 有三種方法可以爬到樓頂。 1. 1 階 + 1 階 + 1 階 2. 1 階 + 2 階 3. 2 階 + 1 階來源:力扣

這題爬樓梯算是算法題里面比較經典的。

解題思路

這題的解題思路主要有兩種:

1.動態規劃

2.斐波那契數列

動態規劃算是一個比較重要的解題技巧與思路,后續我會寫一系列需要用動態規劃思路解題的文章,幫助大家更好的理解動態規劃。

這題我們用斐波那契數列來解。

斐波那契數列又稱兔子數列,指得是:1、1、2、3、5、8、13、21、……,在數學上它得遞推公式是:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)。

放到這個題目中我們可以發現:二階樓梯的走法有 2種: 1 階 + 1 階 、 2 階三階樓梯的走法有 3種:1 階 + 1 階、1 階 + 2 階、2 階 + 1 階四階樓梯的走法有 5種:1 階 + 1 階 + 1 階 + 1 階、1 階 + 2 階 + 1 階、1 階 + 1 階 + 2 階、2 階 + 2 階、2 階 + 1 階 + 1 階……

綜上,我們可以發現 n 階樓梯有 m 種爬法,且 m 符合斐波那契數列規律,所以直接上代碼咯!

Go 實現

// 斐波那契數列// 1 1 2 3 5 8 13 ....func climbStairs2(n int) int { // 1 階臺階直接返回 1 if n == 1 { return 1 } // 2 階臺階直接返回 2 if n == 2 { return 2 } current := 2 pre := 1 // 當前臺階的走法是前兩個臺階走法之和 for i := 3; i <= n;i ++ { current = current + pre pre = current - pre } return current}

PHP 實現,一共兩版實現,看自己喜歡哪種代碼吧

function climbStairs($n) { // if($n==1) return 1; // $dp[1]=1; // $dp[2]=2; // for($i=3;$i<=$n;$i++){ // $dp[$i]=$dp[$i-1]+$dp[$i-2]; // } // // return $dp[$n]; if($n <= 2) return $n; $dp = [1 => 1,2 => 2]; foreach(range(3,$n+1) as $v){ //遞歸加法,這個爬樓梯就是斐波拉切算法求最后f(n-1)+f(n-2)的和 $dp[$v] = $dp[$v-1] + $dp[$v-2]; } return $dp[$n];}

總結

到此這篇關于基于Go和PHP語言實現爬樓梯算法的思路詳解的文章就介紹到這了,更多相關Go PHP 爬樓梯算法內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: PHP
相關文章:
主站蜘蛛池模板: 四虎新网站 | 玖玖国产精品视频 | 亚洲cb精品一区二区三区 | 欧美a级成人淫片免费看 | 日韩不卡一二三 | 成人黄色在线视频 | 国产高清自拍 | 久久免费黄色网址 | 欧美激情国产日韩精品一区18 | 亚洲中字在线 | 亚洲第一成年免费网站 | 国产亚洲精品久久久久久久 | 欧美久久免费观看 | 日韩视频中文字幕在线观看 | 亚洲综合电影 | av在线干| 91在线观看视频 | 后人极品翘臀美女在线播放 | 国产精品久久久久无码av | 伊人超碰 | 黄色毛片在线看 | 日韩欧美一区二区在线观看 | 日韩一区二区福利 | 91视视频在线观看入口直接观看 | 精品久久香蕉国产线看观看亚洲 | 福利视频1000 | 日韩在线成人 | 欧美日韩视频在线观看一区 | 伊人久久精品久久亚洲一区 | 综合一区二区三区 | 成人性视频免费网站 | 久久久美女 | jizz国产免费 | 国产免费黄色 | 99久久精品国产一区二区成人 | 色偷偷888欧美精品久久久 | 在线观看理论电影 | 日韩二区精品 | 久久tv在线观看 | 成人影院av| 人人澡人人射 |