遞迴演算法題歸納

2021-09-28 14:54:05 字數 870 閱讀 2128

例一:大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。(n<=39)

經典的遞迴應用,注意考慮周全,當傳入的n的值為0或者為1的時候,返回的數值是多少

`public

class

solution

}`

public

class

solution

else

}}

例三:我們可以用21的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個21的小矩形無重疊地覆蓋乙個2*n的大矩形,總共有多少種方法?

注意多種情況的考慮,例如當兩行時,是有兩種情況進行填充的

public

class

solution

}

總結:遞迴在演算法題中應用並不少(本人剛做兩天

演算法),但容易超出記憶體限制,所以「搬磚」時候遞迴的使用相對來說會少很多,例如我昨天刷乙個道乙個double型別的int次冪題的時候,剛開始想到的就是用遞迴,但是造成了爆棧

題目:給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方

public

class

solution

}

敲黑板:做演算法題一定要注意,使用者輸入的特殊情況,即為0時,亦或者這為1時,要進行乙個if判斷,嚴謹性,嚴謹性

演算法題 遞迴

1.遞迴求和1 2 3 n 思想 f 1 1 f 2 f 1 2 f 3 f 2 3 f n f n 1 n def add n if n 1 return 1else return add n 1 n print add 100 結果 5050 2.遞迴求n n n 1 n 2 1 n 0 f 1...

遞迴演算法簡單題

最大公約數 題目內容 輸入兩個整數m,n,用遞迴演算法實現計算兩個數的最大公約數。輸入格式 輸入兩個整數m,n 輸出格式 最大公約數 輸入樣例 12,40 回車 輸出樣例 4 回車 時間限制 500ms記憶體限制 32000kb 理解最大公約數演算法!include int n intm void ...

演算法歸納(一)

1 給定乙個陣列arr,和乙個數num,請把小於等於num的數放在陣列的左邊,大於num的數放在陣列的右邊。要求額外空間複雜度o 1 時間複雜度o n public class demo1 5 public static void sort int arr,int num print arr pub...