每日一題 跳台階擴充套件問題 滴滴筆試題

2021-10-21 18:32:54 字數 1193 閱讀 3567

相關題目:

【每日一題】蝸牛爬井問題

【每日一題】跳台階擴充套件問題

牛客網:跳台階擴充套件問題

乙隻青蛙一次可以跳上1級台階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。

輸入:3

輸出:4

這道題和前面的跳台階有相似之處,之前的跳台階是一次可以跳一階或者兩階,那麼跳n階台階的次數可以理解為跳n-1階和跳n-2階的次數之和。所以本題跳n階的次數可以理解為跳n-1,n-2,n-3,…1的次數的總和加1,加1是因為可以一次跳上去。寫出幾次跳的個數可以發現1,2,4,8,16,32,…規律為後乙個數是前乙個數的二倍,所以**也就比較簡單了

int

jumpfloorii

(int number)

return sum;

}

(1)採用遞迴的思想

假定第一次跳的是1階,那麼剩下的是n-1個台階,跳法是f(n-1);

假定第一次跳的是2階,那麼剩下的是n-2個台階,跳法是f(n-2);

假定第一次跳的是3階,那麼剩下的是n-3個台階,跳法是f(n-3);

…假定第一次跳的是n-1階,那麼剩下的是1個台階,跳法是f(1);

假定第一次跳的是n階,那麼剩下的是0個台階,跳法是1種

根據上述分析可以得出:

有1級台階的時候可以有 f(1) = 1 =2^0種跳法;

有2級台階的時候可以有f(2) = 1+f(1)=2=2^1種跳法;

有3級台階的時候可以有 f(3) =1+f(2)+f(1)=4=2^2種跳法;

…有n-1級台階的時候可以有 f(n-1) =1+f(n-2)+…+f(2)+f(1)=2^(n-2)種跳法;

有n級台階的時候可以有 f(n) =1+f(n-1)+f(n-2)+…+f(2)+f(1)=2^(n-1)種跳法;

(2)採用不完全歸納法

每日一練 青蛙跳台階問題

內容 乙隻青蛙一次可以跳上一級台階,也可以跳上二級台階。求該青蛙跳上n級台階共有多少種跳法。題目分析 先簡單考慮。如果只有1級台階,那麼只有一種跳法,如果是2級台階,那麼有兩種跳法。我們把n級台階的跳法當成乙個函式f n 那麼當n級台階,n 2時,每次跳台階都有兩種不同的跳法 一是跳1級,此時的跳法...

每日一題 獎金問題

一 問題描述 二 問題分析 涉及資料 利潤profit,獎金bonus 資料間的關係 當profit 10w,bonus profit 0.1 當profit 20w,bonus 100000 0.1 profit 100000 0.075 三 由使用者輸入乙個利潤,並將輸入轉換為整數型方便進行比較...

每日一題 過橋問題

問題描述 今天偶然在 讀者 上看到了益智問題 試著解了一下,感覺還是很有意思,google了一下,晚上都說是微軟面試題,但是我找了找,在 how to slove it 這本書中就有提到。不知道是誰cp的誰的。好吧,說說問題 u2合唱團在17分鐘內得趕到演唱會,途中必須經過一座橋,4個人從橋的同一端...