zoukankan      html  css  js  c++  java
  • 另一种fib高效实现

    缓存形式的实现

    var memoize = function(fn) {
      var cache = [];
      return function(i) {
        return (i in cache) ? cache[i] :
          (cache[i] = fn.call(arguments.callee, i));
      };
    }
     
    var fib = new memoize(function(i) {
      if (i == 0 || i == 1)
        return 1;
      return this(i-1) + this(i-2);
    })
    
    
    

    新的实现:

    function fib(n) {
      function _fib(n, a, b, arg1, arg2) {
        if(n>1) _fib(n-1, a, b, arguments, arg1);
        return arg1[2] = arg2[1] = a+b;
      }
    
      return _fib(n, 0, 1, [], []);
    }
    

  • 相关阅读:
    centos 7.0 yum 分开安装 LAMP 环境 +zabbix3.4环境
    互联网产品接入支付功能如何测试?
    python实现:将文本文件分割成多个小文本文件(php也可实现)
    『危机领导力』告诉我们如何带好团队
    Fiddler显示服务器IP的方法
    Google PageSpeed Tools 性能测试分析
    写给浮躁的测试工程师一封信
    数据库事务和锁
    测试工作中ADB命令实战
    git使用基础
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/1830692.html
Copyright © 2011-2022 走看看