zoukankan      html  css  js  c++  java
  • 计算数组{1,1,2,3,5,8.......} 第30位值 ,斐波那契数列-常见的面试题,快速解法

    下面第一个结果,通过数组得到的,第二个是普通递归得到的160+万次,第三个是“新解法”(只针对这个问题),166万次和29次,效率自己想。。。

    公司面试出这道题,考得就是递归的运用,数组方法,大家知道就行,面试写的时候还是得用递归

     1 #region 数组方式实现
     2         /// <summary>
     3         /// 数组方式实现
     4         /// </summary>
     5         /// <param name="num"></param>
     6         /// <returns></returns>
     7         public static int ArrayMath(int num = 30)
     8         {
     9             if (num <= 2)
    10             {
    11                 return 1;
    12             }
    13             else
    14             {
    15                 int[] array = new int[num];
    16                 array[0] = 1;
    17                 array[1] = 1;
    18                 for (var i = 2; i < num; i++)
    19                 {
    20                     array[i] = array[i - 1] + array[i - 2];
    21                 }
    22                 return array[num - 1];
    23             }
    24         }
    25         #endregion
    数组方式实现
    #region 常规递归方式实现
            public static int DiGuiMath(int num = 30)
            {
                ++numberDiGuiMath;
                if (num <= 2)
                {
                    return 1;
                }
                else
                {
                    return DiGuiMath(num - 1) + DiGuiMath(num - 2);
                }
            }
    
            #endregion
    常规方式实现
    #region 超快递归
            public static int DiGuiMathFast(int num = 30,int head = 1, int end = 1)
            {
                ++numberDiGuiMathFast;
                if (num <= 2)
                {
                    return end;
                }
                else
                {
                    return DiGuiMathFast( num - 1,end, head + end);
                }
    
            }
            #endregion
    新递归
  • 相关阅读:
    第四次作业
    团队编程第三次博客
    团队编程2
    团队编程
    ARM寄存器总结:
    proc介绍及问题分析
    Ubuntu连接手机步骤
    Bluetooth(android 4.2.2版本)
    Android Bluetooth 总结
    android代码常识
  • 原文地址:https://www.cnblogs.com/shacoli/p/8524539.html
Copyright © 2011-2022 走看看