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, [], []);
    }
    

  • 相关阅读:
    ARM的存储器映射与存储器重映射
    Nand Flash与Nor
    内核 任务的堆栈切换
    Linux设备模型(总结)
    file结构体中private_data指针的疑惑
    Sysfs文件系统与Linux设备模型
    认识udev
    Linux操作系统下的常见系统资源共享
    linux下的udev是干嘛的,能否说的通俗点
    udev详解
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/1830692.html
Copyright © 2011-2022 走看看