1. 程式人生 > 其它 >數字補“0”

數字補“0”

技術標籤:Leetcode之劍指offerleetcode動態規劃java資料結構演算法

題目

寫一個函式,輸入 n ,求斐波那契(Fibonacci)數列的第 n 項(即 F(N))。斐波那契數列的定義如下:

F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.

斐波那契數列由 0 和 1 開始,之後的斐波那契數就是由之前的兩數相加而得出。

答案需要取模 1e9+7(1000000007),如計算初始結果為:1000000008,請返回 1。

示例

輸入:n = 2
輸出:1

示例

輸入:n = 5
輸出:5

自己看解題

class Solution
{ //例子: 0 1 1 2 3 5 8 public int fib(int n) { // 初始化第一第二個 int a = 0; int b = 1; // 判斷特殊情況 if(n==0){ return 0; }else if(n==1){ return a + b; }else{ // 當n大於2時 for(int i = 0;i<n;i++){ // 得到總數 a =
a + b; // 得到前一個數字 b = a - b; // 為什麼要取模:防止溢位,模1000000007後,可以保證值永遠在int的範圍內。 a = a % 1000000007; } return a; } } }
  • 也還挺快的~

在這裡插入圖片描述