[劍指offer] 8. 跳臺階
題目描述
一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。思路: 簡單的DP,用一個數組dp[i]儲存跳到第i個臺階有幾種方法。 因為只能跳一階或者二階,所以狀態轉移方程為: dp[i]=dp[i-1]+dp[i-2] dp[1]=1,dp[2]=2
class Solution { public: int jumpFloor(int number) { int dp[9999] = {0}; dp[1] = 1; dp[2] = 2; for (int i = 3; i <= number; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } return dp[number]; } };
相關推薦
[劍指offer] 8. 跳臺階
題目描述 一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。 思路: 簡單的DP,用一個數組dp[i]儲存跳到第i個臺階有幾種方法。 因為只能跳一階或者二階,所以狀態轉移方程為:
劍指offer(8) 跳臺階
題目描述 一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。 解題思路 a.如果兩種跳法,1階或者2階,那麼假定第一次跳的是一階,那麼剩下的是n-1個臺階,跳法是f(n-1); b.假定第一次跳的是2階,那麼剩下的是n-
劍指Offer——變態跳臺階
ber urn .cn bsp www. com pre 多少 ref 題目描述: 一只青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 分析: 這一題其實沒有那麽難。思路和上一題一樣(劍指Offer——跳臺階)。
《劍指offer》---跳臺階問題
n) 思路 空間限制 python += 8K source 程序 ... 本文算法使用python3實現 1. 問題1 1.1 題目描述: ??一只青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 ??時間限制:1s;空間限制:32
劍指offer 08跳臺階
stat system int 時間 斐波那契數 耗時 中間 number java版 一只青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。 java版本: public class Solution {
劍指offer-09-跳臺階
n-1 HERE pre cti asc 斐波那契 code java return 題目描述 一只青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 題目分析 青蛙只跳1或2可以得出是一個斐波那契問題,即a[n]=a
劍指offer-變態跳臺階
題目描述 一隻青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 程式碼如下 class Solution { public: int jumpFloorII(int number) { if(number == 0
劍指offer[變態跳臺階]
劍指offer[變態跳臺階] 題目描述 思路 程式碼 細節知識 題目描述 一隻青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 思
(劍指offer)跳臺階
時間限制:1秒 空間限制:32768K 熱度指數:314942 題目描述 一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。 思路 逆向思維,最後一級要麼跳1級,要麼跳2級。其實發現還是斐波那契數列的應用!
劍指offer--變態跳臺階
題目如下: 一隻青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 解題思路: 其實有兩種解題思路,個人更傾向於第二種方法,應為個人覺得它更符合計算機解決問題的思路。 在這道題目之前,其實還有一個簡單的青蛙
劍指offer之跳臺階(Java實現)
跳臺階 NowCoder 題目描述: 一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。 ###解題思路: 對於第n個臺階來說,只能從n-1或者n-2的臺階跳上來,所以 F(n) = F(n-1) +
LeetCode(53) Climbing Stairs (劍指Offer->跳臺階、變態跳臺階)
Climbing Stairs (跳臺階) 題目描述 You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 step
劍指offer :跳臺階
一次 cto leetcode 不同的 nbsp 數組 每次 number back 這題之前刷leetcode也遇到過,感覺是跟斐波拉契差不多的題。 題目描述: 一只青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不
。。。劍指Offer之——跳臺階。。。
font ans 本質 return span nbsp code ret 斐波那契 // 本質是斐波那契數列 public int JumpFloor(int target) { // 如果臺階數小於2,則返回1 if
劍指 Offer - 8:跳臺階
題目描述 一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果) 題目連結:https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4
[劍指offer] 8. 變態跳臺階
題目描述 一隻青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 跳臺階的子母題,同樣動態規劃 dp[i]=dp[0]+dp[1]+...dp[i-1] ... dp[i]=2*dp[i-1] class Solution { pu
劍指Offer8:跳臺階
思路: 分析可知:青蛙跳n臺階一共有多少種跳法滿足斐波那契數列。 # -*- coding:utf-8 -*- class Solution: def jumpFloor(self, number): # write code here s=[]
劍指offer 8. 斐波那契數列
原題 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39 Reference Answer 解題思路: 直接用回溯法了,用遞迴效率低。 # -*- coding:utf-8 -*- class
劍指offer 8. 用兩個棧實現佇列
請用棧實現一個佇列,支援如下四種操作: push(x) – 將元素x插到隊尾; pop(x) – 將隊首的元素彈出,並返回該元素; peek() – 返回隊首元素; empty() – 返回佇列是否為空; 注意: 你只能使用棧的標準操作
劍指offer-8- Python實現旋轉陣列的最小數
一、題目描述 二、解法 def minNumberInRotateArray(rotateArray): # write code here p1 = 0 p2 = len(rotateArray)-1 mid = p1