您好,登錄后才能下訂單哦!
這篇文章主要介紹LeetCode如何求斐波那契數列的第n項,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
問題簡述
寫一個函數,輸入 n ,求斐波那契(Fibonacci)數列的第 n 項。斐波那契數列的定義如下:
F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契數列由 0 和 1 開始,之后的斐波那契數就是由之前的兩數相加而得出。
答案需要取模 1e9+7(1000000007),如計算初始結果為:1000000008,請返回 1。
示例
示例 1:
輸入:n = 2
輸出:1
示例 2:
輸入:n = 5
輸出:5
題解思路
使用動態規劃的方式進行解決
題解程序
public class FibTest {
public static void main(String[] args) {
int n = 5;
int a = fib(n);
System.out.println("a = " + a);
}
public static int fib(int n) {
if (n == 0) {
return 0;
}
if (n == 1) {
return 1;
}
int[] dp = new int[n + 1];
dp[0] = 0;
dp[1] = 1;
for (int i = 2; i <= n; i++) {
dp[i] = dp[i - 1] + dp[i - 2];
dp[i] = dp[i] % 1000000007;
}
return dp[n];
}
}
題解程序圖片版
以上是“LeetCode如何求斐波那契數列的第n項”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。