1. 程式人生 > 其它 >java的sort排序問題

java的sort排序問題

技術標籤:刷題演算法資料結構

索引請參考:系列目錄
題目:

  • 一隻青蛙一次可以跳上1級臺階,也可以跳上2級臺階。求該青蛙跳上一個n級臺階共有多少總跳法?
  • 例:輸入 1 輸出 1
  • 輸入3 輸出 3
  • 輸入5 輸出 8

分析:

  • 分析題目規律:
  • 1級 輸出 1
  • 2級 輸出2
  • 3級 輸出3
  • 4級 輸出4
  • 5級 輸出 8
  • 6級 輸出13
  • 綜上考慮,該規律符合斐波那契數列的規律

具體演算法:

int jumpFloor(int number) {
    int result[2] = {1,2};
    if(number < 3)
        return result[number -1];
    int
Fn,Fn_1 = 2,Fn_2 = 1; for(int i = 3;i <= number; ++i) { Fn = Fn_1 + Fn_2; Fn_2 = Fn_1; Fn_1 = Fn; } return Fn; }

牛客執行結果:
在這裡插入圖片描述
評註:這道題雖然看似簡單,但是也在一定程度上映射出來現在公司真題的考試趨勢,他們不單單隻把一些演算法題幹告知應試者,而實通過一層外衣來粉飾這個演算法。該演算法巧妙的將青蛙跳臺階問題轉化成了斐波那契數列,而且將斐波那契數列的演算法做了進一步的優化(具體優化思路請參考上一篇