求斐波那契數列的第n項
遞迴:遞迴法實現起來簡單,但是因為會計算重複的節點,這就意味著計算量會隨著n的增大急劇增大。當計算n=50,第50項的時候已經相當耗時
非遞迴:
可以採用迴圈,先得到f(0) f(1) 相加得到f(2) 再相加得到f(3) 再得到f(4) 依次得到f(n)
//寫乙個函式,輸入n,求斐波那契數列的第n項
public class fibonaccisequence else if(n==1)else
}//非遞迴處理
public static long getfibonaccisequence(int n)
if(n==1)
long firstminus = 0;
long secondminus = 1;
long n = 0;
for(int i=2;i<=n;i++)
return n;
}public static void main(string args) else
}}
變形:青蛙跳台階
同樣也是斐波那契數列的應用 注意前3項與斐波那契數列的不同 但也是菲波那切數列的應用
/**
* 乙隻青蛙 一次可以跳上乙個台階,也可以跳上兩個台階,求該青蛙跳上n階台階一共有多少種跳法
*/public class frogupstairs else if(n==1)else if(n==2)else
}//非遞迴
public static long frogupstairs(int n)
if(n==1)
if(n==2)
long firstmaxium = 1;
long secondmaxium = 2;
long n = 0;
for (int i=3;i<=n;i++)
return n;
}public static void main(string args)
}
劍指offer 面試題(1)
這兩天通過做作業接觸了 劍指offer 這本書 覺得裡面的面試題真是異常經典,當你看到那一道一道面試題時,對自我的做題筆試能力肯定會大有脾益 平常可以多做練習,養成乙個習慣 好了,廢話不多說了,直接上題吧 我已經感到 了 第一道 劍指offer 面試題14 調整陣列使奇數全部都位於偶數前面。題目 輸...
劍指offer 面試題 (替換空格) 1
題目分析 首先,我們應該想到的是原來是乙個空格字元,替換之後變為三個字元 2 0 如果我們直接在原來的字串上進行替換,就有可能覆蓋掉原本的內容 如果是建立新的字串並 新的字串上做替換,那麼我們可以自己分配好足夠的記憶體,所以我們應該向面試官問清楚如果面 試官告訴你在原本的字串上做修改,並且記憶體足夠...
劍指offer面試題7
面試題7 用兩個棧實現佇列 using namespace std template class cqueue 預備知識 佇列 佇列也是一種常見的資料結構 特點是先進先出 fifo 在stl中有stack和queue兩個容器 template class stack 成員函式 empty size ...