zoukankan      html  css  js  c++  java
  • 斐波那契数列的迭代和递归实现

    题记------学习别人的精髓,并加以总结,消化吸收,这就是提高!!!

    斐波那契数列是古典算法中的经典,面试中常常出现,我们不仅要掌握递归,还要理解迭代算法,以备不时之需

    斐波那契数列是形如1,1,2,3,5,8,13,21....的数列,不多说上代码,如果大家有更好的算法,希望赐教。

     1     /**
     2      * 采用递归
     3      * @param month
     4      * @return
     5      * @author GongLi
     6      */
     7     public int RabbitCount(int month){
     8         if(month==1||month==2){
     9             return 1;
    10         }else{
    11             return RabbitCount(month-1)+RabbitCount(month-2);
    12         }
    13     }
    14     
    15     /**
    16      * 采用迭代
    17      * @param month
    18      * @return
    19      * @author GongLi
    20      */
    21     public int RabbitCountByIteration(int month){
    22         int firstRabbit = 1;//初始化前一个月兔子为1只
    23         int secondRabbit = 1;//初始化后一个月兔子为1只
    24         for(int i=3;i<=month;i++){
    25             int temp = secondRabbit;//将后一个月的兔子数放入一个临时变量,目的是作为下一次迭代的上一个月的兔子数
    26             secondRabbit += firstRabbit;//后一个月的兔子数为前两个月的兔子数相加
    27             firstRabbit = temp;//将上一次迭代的后一个月的兔子数,变为下一次迭代先一个月的兔子数
    28         }
    29         return secondRabbit;
    30     }
    希望各位大神,对文中的不足不吝赐教,共同学习,共同进步!!!
  • 相关阅读:
    Unique Binary Search Trees——LeetCode
    Binary Tree Inorder Traversal ——LeetCode
    Maximum Product Subarray——LeetCode
    Remove Linked List Elements——LeetCode
    Maximum Subarray——LeetCode
    Validate Binary Search Tree——LeetCode
    Swap Nodes in Pairs——LeetCode
    Find Minimum in Rotated Sorted Array——LeetCode
    Linked List Cycle——LeetCode
    VR AR MR
  • 原文地址:https://www.cnblogs.com/gongli123/p/7270792.html
Copyright © 2011-2022 走看看