1. 程式人生 > >劍指offer之斐波那契數列

劍指offer之斐波那契數列

題目描述:大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項。

思路:用迴圈,最好不要用遞迴

程式碼:

public static int Fibonacci(int n) {
		 if(n==0||n==1) return n;
		 int perNum=1;
		 int perPerNum=0;
		 int result=0;
		 for(int i=2;i<=n;i++){
			 result=perNum+perPerNum;
			 perPerNum=perNum;
			 perNum=result;
		 }
		 return result;
	 }


相關推薦

offer數列(Java實現)

斐波那契數列 NowCoder 題目描述: 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39 ###解題思路: 整體思路:考慮負數,大數,演算法的複雜度,空間的浪費 public class

offer數列

題目描述:大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項。 思路:用迴圈,最好不要用遞迴 程式碼: public static int Fibonacci(i

。。。Offer——數列。。。

pub 臨時 斐波那契 數列 acc style 一次 int mil 1 public int Fibonacci(int n) { 2 //如果n=0,返回0,如果n=1或者n=2,返回1 3 if (n < 3) {

offer 07數列

賦值 out data- rtti turn 現在 long 運行時 簡單 現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。n<=39 java版本: public class Solution { public static

offer數列非遞迴求解第N項

public class Solution {    public int Fibonacci(int n) {       //錯誤輸入處理       if

offer數列非遞歸求解第N項

非遞歸 acc 斐波那契 錯誤 bsp fibonacci 更新 off for public class Solution { public int Fibonacci(int n) { //錯誤輸入處理 if(n<0) return

offer數列

時間限制:1秒 空間限制:32768K 熱度指數:407703 題目描述 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39 方案一(遞迴): public class Solution { pub

offer 8. 數列

原題 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39 Reference Answer 解題思路: 直接用回溯法了,用遞迴效率低。 # -*- coding:utf-8 -*- class

offer數列 遞迴 迴圈 時間 c++

題目:大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。n<=39 思路:可以用兩種方法實現,這裡遞迴的辦法因為有太多重複的計算會超時(計算n=39,需要4s左右,題目要求1s),遂改用迴圈語句寫(經測試n=39時,完全小於1s),下面的程式碼中也給

offer 9. 數列

輸入一個整數 n ,求斐波那契數列的第 n 項。 假定從0開始,第0項為0。(n<=39) 樣例 輸入整數 n=5 返回 5 滾動陣列 時間複雜度 O

offer數列問題

1、斐波那契數列 (Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:1、1、2、3、5、8、13、21、34、……在

offer數列

表示 n-1 strong 遞歸調用 http 開始 rac urn 斐波那契 目錄 題目 解題思路 具體代碼 題目 題目鏈接 劍指offer:斐波那契數列

offer》------數列

ace stream names fibonacci inf ++ ios com 斐波拉契 題目一:求斐波拉契數列的第n項。 寫出一個函數,輸入n,求斐波拉契(Fibonacci)數列的第n項。斐波拉契數列定義如下: C++實現: //斐波拉契數列 #include

Offer7:數列

思路: 1.先初始化第0項為0,第1項為1 2.判斷n是否等於0或者1,若是則返回相應的值 3.當n>=count時,開始進入while迴圈。首先計算出前一項和前前一項的和result,再者將前一項賦值給前前一項,result賦值給前一項,然後count+1。再次判斷n和count

Numpy攻略:Numpy常用函式數列

NumPy 是一個 Python 的第三方庫,代表 “Numeric Python”,主要用於數學/科學計算。 它是一個由多維陣列物件和用於處理陣列的例程集合組成的庫。 1.sqrt函式:計算平方根 示例:黃金分割比的計算 程式碼段如下: import numpy #使

Java數列的三種寫法

說明:1,1,2,3,5,8,13,21,34,55,89......這樣是數列稱為斐波那契數列 1、利用遞迴思想處理 public static long method(int num){         if(num <=

演算法數列如何求第n個值與求前n項和?(Java)

斐波那契數列 指的是這樣一個數列:1、1、2、3、5、8、13、21、34、……在數學上,斐波納契數列以如下被以遞推的方法定義:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)。 1.題目 1.1.求斐波那契數

java程式設計題數列

下邊的分析是通過Excel表格做出來的,因為不知道它具體生產的情況,所以就一個月一個月的試,最後得到下列的情況 /** * 古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子, * 小兔子長到第三個月後每個月又生一對兔子,假如

演算法數列 演算法數列

演算法之斐波那契數列 斐波那契數列 def fib(n): '''裴波那契''' f = [1,1] for i in range(2, n+1): f.append(f[-1]+f[-2])

複雜度分析數列

數列定義 英文名叫Fibonacci sequence,翻譯過來就是斐波那契數列,其特點如下:0 1 1 2 3 5 8 ...,簡單歸納就是F(0)=0,F(1)=1, F(n)=F(n-1)+F(