原解答在這兒
寫乙個函式,輸入 n ,求斐波那契(fibonacci)數列的第 n 項。斐波那契數列的定義如下:
f(0) = 0, f(1) = 1
f(n) = f(n - 1) + f(n - 2), 其中 n > 1.
斐波那契數列由 0 和 1 開始,之後的斐波那契數就是由之前的兩數相加而得出。
答案需要取模 1e9+7(1000000007),如計算初始結果為:1000000008,請返回 1。
示例 1:
輸入:n = 2
輸出:1
示例 2:
輸入:n = 5
輸出:5
斐波那契數列的定義是 f(n+1)=f(n)+f(n−1) ,生成第 n 項的做法有以下幾種:
若新建長度為 n 的 dp 列表,則空間複雜度為o(n)。
大數越界:隨著 n 增大, f(n) 會超過int32
甚至int64
的取值範圍,導致最終的返回值錯誤。
劍指offer 面試題10(1) 斐波那契數列
大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項 從0開始,第0項為0 接觸過程式語言的,在學遞迴的時候應該都是第乙個就學斐波那契數列吧哈哈,就像程式設計師的第一句話永遠是hello world!來自官方的斐波那契數列定義複製用一下 斐波那契數列以如下被以遞推的方法定義,...
leetcode 面試題專題
面試題51.陣列中的逆序對 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。利用歸併排序,將陣列分成兩部分,前面一部分和後面一部分,進行歸併的時候,需要比較兩個陣列的數值大小,如果第二個陣列的值小的話,代表前乙個陣列剩下的都...
位元組面試題 leetcode
給定乙個迴圈陣列 最後乙個元素的下乙個元素是陣列的第乙個元素 輸出每個元素的下乙個更大元素。數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該迴圈地搜尋它的下乙個更大的數。如果不存在,則輸出 1。示例 1 輸入 1,2,1 輸出 2,1,2 解釋 第乙個 ...