劍指offer面試題10:斐波那契數列(Java 實現)
題目:大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項。
思路:使用遞迴會重複計算,效率較低,可以用迴圈自下到上計算。
測試用例:
- 功能測試:輸入3、5、10 等。
- 邊界測試:輸入0、1、2
- 效能測試:輸入較大的數(如40、50、100 等)。
public class test_ten { public int fibonacci(int n){ int result = 0; int preOne = 1; int preTwo = 0; if(n==0)return preTwo; if(n==1)return preOne; for(int i=2; i<=n;i++){ result = preOne + preTwo; preTwo = preOne; preOne = result; } return result; } }
相關推薦
劍指offer面試題10:斐波那契數列(Java 實現)
題目:大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項。 思路:使用遞迴會重複計算,效率較低,可以用迴圈自下到上計算。 測試用例: 功能測試:輸入3、5、10 等。 邊界測試:輸入0、1、2 效能測試:輸入較大的數(如40、50、
劍指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-面試題9:斐波那契數列
題目一:寫一個函式,輸入n,求斐波那契(Fabonacci)數列的第n項。斐波那契數列的定義如下: 效率很低的解法:遞迴 long long Fibonacci(unsigned n) { if(n <= 0) return 0;
牛客網線上程式設計專題《劍指offer-面試題9》斐波那契數列
題目連結: 題目描述: 解題思路: (1)遞迴解法 此解法時間複雜度和空間複雜度都很大,我這裡不再給出詳細的程式碼。 (2)動態規劃解法 已經AC的程式碼: import java
《劍指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(
面試題10:斐波那契數列
區別 原創文章 時間 -c 通過 res border cci rgb 斐波那契數指的是這樣一個數列:0、1、1、2、3、5、8、13、21、…… 這個數列從第三個數開始,之後的每一個數都由它前的兩數相加得到。 我們知道在編程中我們可以用遞歸和叠代兩種方法求指定的斐波那契
劍指offer之斐波那契數列(Java實現)
斐波那契數列 NowCoder 題目描述: 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39 ###解題思路: 整體思路:考慮負數,大數,演算法的複雜度,空間的浪費 public class
【劍指Offer學習】【面試題9 : 斐波那契數列】
O(n)時間O(1)空間實現: public class Test09 { /** * 寫一個函式,輸入n,求斐波那契(Fibonacci) 數列的第n項 *
【劍指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面試題三 :陣列中重複的數字( google 面試)
目錄 參考部落格: 題目一:找出陣列中重複的數字 思路一 思路二 題目二:不修改陣列找出重複的數字 測試: 牛客: 牛客高贊(和思路二類似都是hash對映,網友思路真是腦洞大開,這裡相關溢位問題考慮的只有~(1<<31)>>1,
劍指Offer面試題56:連結串列中環的入口節點 Java實現
/************************************************************** * Copyright (c) 2016, * All rights reserved. * 版 本 號:v1.0
【劍指offer第七題】斐波那契數列
題目描述 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39 剛開始覺得輸入為一個數,然後找到這個數在斐波那契數列中的位置
遞迴:斐波那契數列(兔子總數)。
反覆學習反覆學習。 因為自己對遞迴還是不太熟練,於是做POJ1753的時候就很吃力,就是翻棋子直到棋盤上所有棋子的顏色一樣為止,求最少翻多少次,方法是列舉遞迴。然後就打算先做另一道遞迴的題(從陣列中取
斐波那契數(JAVA實現)
public class Fibonacci { /*輸出斐波那契數*/ publicstaticvoid printFibonacciNumber(long f1,long f2,int n){//the first number, the second number,the totel fib
JavaScript算法系列之-----------------斐波那契數列(JS實現)
esc 算法 題目 要求 n-1 return 系列 斐波那契數列 通過 題目描述 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39 遞歸實現: function Fibonacci(
《劍指offer》- 面試題3:陣列中重複的數字(java實現)
題目一: 在一個長度為n的數組裡的所有數字都在0到n-1的範圍內。 陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意一個重複的數字。 例如,如果輸入長度為7的陣列{2,3,1,0,2,5,3},那麼對應的輸出是重複
劍指Offer面試題3:二維陣列中的查詢Java版解法
題目:在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 第一種解法是全遍歷,這種方
劍指Offer 面試題23:連結串列中環的入口節點 Java程式碼實現
題目描述 一個連結串列中包含環,請找出該連結串列的環的入口結點。 這題又用到了一快一慢兩個指標的方法,快指標一次走兩步慢指標一次走一步。可以證明,若存在環路,則這兩個指標一定會在環路中某個地方
劍指Offer:面試題33——把陣列排成最小的數(java實現)(未完待續)
問題描述: 輸入一個正整數陣列,把數組裡所有數字拼接起來排成一個數,列印能拼接出的所有數字中最小的一個。例如輸入陣列{3,32,321},則打印出這三個數字能排成的最小數字為321323。
劍指 offer_第七題_斐波那契數列
平臺 牛客網 語言 python2.7.3 作業內容 題目描述 大家都知道斐波那契數列,現在要求輸入一個整數 n, 請你輸出斐波那契數列的第 n 項(從 0 開始,第 0 項為 0)。 n<=39 題目理解 什麼是斐波那契數列? 斐波那契數列(Fibonac