劍指 Offer - 7:斐波那契數列
題目描述
大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0,n <= 39)
題目連結:https://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3
解題思路
迭代或遞迴思路,但由於 n 較大,遞迴會爆棧
public class Solution {
public int Fibonacci(int n) {
if (n == 0) return 0;
if (n == 1 || n == 2) return 1;
int[] result = new int[n+1];
result[1] = 1;
result[2] = 1;
for (int i = 3; i < n+1; i++) {
result[i] = result[i-1] + result[i-2];
}
return result[n];
}
}
相關推薦
劍指 Offer - 7:斐波那契數列
題目描述 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0,n <= 39) 題目連結:https://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea
劍指offer-07:斐波那契數列
題目描述 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39 程式碼實現: public class Solution07 { public int Fibonacci(int n) {
劍指offer-矩形覆蓋-斐波那契數列(遞歸,遞推)
思考 -1 com light logs src images 數列 斐波那契數 class Solution { public: int rectCover(int number) { if(number==0 || num
【劍指Offer】04斐波那契數列
題目描述 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39 時間限制:1秒;空間限制:32768K 解題思路 首先看到題目的第一想法就是遞迴,程式碼如下: # -*- coding:utf-8 -*- c
劍指offer Python版 - 斐波那契數列
題目描述 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項。 n<=39 方法1: 迴圈。 # -*- coding:utf-8 -*- class Solution: def Fibonacci(self,
劍指offer刷題-斐波那契數列
時間限制:1秒 空間限制:32768K 熱度指數:410368 題目描述 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39 題目分析 經典的遞推問題結果數滿足一個公式,從簡單的開始推導
牛客網《劍指offer》之Python2.7實現:斐波那契數列
題目描述 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39 思路 1、老方法遞迴 直接幹了一個普通遞迴,但是系統判超時 2、 迭代 # -*- coding:utf-8 -
劍指offer(7)斐波那契數列
sub write return 16px color 現在 UNC 輸入一個整數 得到 題目描述: 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。n<=39 解題代碼: function Fibonacc
《劍指offer》面試題10:斐波那契數列
題目一:求斐波那契數列的第n項 寫一個函式,輸入n,求斐波那契(Fibonacci)數列的第n項。斐波那契數列的定義如下: 當n=0時,f(n)=0; 當n=1時,f(n)=1; 當n>1時,f(n)=f(n-1)+f(n-2); 從下往上計算,首先根據 f(0)和 f(
劍指offer面試題10:斐波那契數列(Java 實現)
題目:大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項。 思路:使用遞迴會重複計算,效率較低,可以用迴圈自下到上計算。 測試用例: 功能測試:輸入3、5、10 等。 邊界測試:輸入0、1、2 效能測試:輸入較大的數(如40、50、
【劍指Offer學習】【面試題9 : 斐波那契數列】
O(n)時間O(1)空間實現: public class Test09 { /** * 寫一個函式,輸入n,求斐波那契(Fibonacci) 數列的第n項 *
《劍指offer》(面試題9):斐波那契數列
前言 如果我們需要重複地多次計算相同的問題,通常可以選擇用遞迴或者迴圈兩種不同的方法。遞迴式在一個函式的內部呼叫這個函式自身。而迴圈則是通過設定計算的初始值及終止條件,在一個範圍內重複運算。
【劍指offer】面試題9:斐波那契數列
題目 寫一個函式,輸入n, 求斐波那契數列的第n項。 遞迴 問題規模為: T(n)=T(n−1)+T(n−2) 如果我們估計一下,讓 T(n−1)=T(n−2) 那麼T(n)=2T(n−1) 那麼O(n)=2n 簡介而不高效 long l
劍指offer-題9:斐波那契數列
題目描述 題目一:大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項。n<=39 題目二:一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 實驗平臺:牛客網 題目一 在牛
劍指offer-面試題9:斐波那契數列
題目一:寫一個函式,輸入n,求斐波那契(Fabonacci)數列的第n項。斐波那契數列的定義如下: 效率很低的解法:遞迴 long long Fibonacci(unsigned n) { if(n <= 0) return 0;
劍指offer——面試題10:斐波那契數列
hid cte pass spl -a 圖片 cst 方法 != 個人答案: 1 #include"iostream" 2 #include"stdio.h" 3 #include"string.h" 4 using namespace std; 5 type
劍指offer:斐波那契數列
表示 n-1 strong 遞歸調用 http 開始 rac urn 斐波那契 目錄 題目 解題思路 具體代碼 題目 題目鏈接 劍指offer:斐波那契數列
劍指Offer7:斐波那契數列
思路: 1.先初始化第0項為0,第1項為1 2.判斷n是否等於0或者1,若是則返回相應的值 3.當n>=count時,開始進入while迴圈。首先計算出前一項和前前一項的和result,再者將前一項賦值給前前一項,result賦值給前一項,然後count+1。再次判斷n和count
面試題10:斐波那契數列
區別 原創文章 時間 -c 通過 res border cci rgb 斐波那契數指的是這樣一個數列:0、1、1、2、3、5、8、13、21、…… 這個數列從第三個數開始,之後的每一個數都由它前的兩數相加得到。 我們知道在編程中我們可以用遞歸和叠代兩種方法求指定的斐波那契
程式設計題:斐波那契數列
斐波納契數列以遞迴的方法定義:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*) 這個數列從第2項開始,每一項都等於前兩項之和,而且當n趨向於無窮大時,前一項與後一項的比值越來越逼近黃金分割0.618. 1.使用for迴圈實現 def fib(