jiecheng(n-1),n_1jiecheng换一下之后,速度加快了很多。

来源:互联网 发布:企鹅的小毛毛 知乎 编辑:程序博客网 时间:2024/04/27 18:38

开始:

if (map .containsKey(n-1))
   {
    return (BigInteger)map.get(n-1);
   }
   else
   {  
    BigInteger n_1jiecheng = jiecheng(n-1);
    map.put(n-1,n_1jiecheng);
    return jiecheng(n-1).multiply(new BigInteger(s));
   }

 

改后:

if (map .containsKey(n-1))
   {
    return (BigInteger)map.get(n-1);
   }
   else
   {  
    BigInteger n_1jiecheng = jiecheng(n-1);
    map.put(n-1,n_1jiecheng);
    return n_1jiecheng.multiply(new BigInteger(s));
   }

仅仅是n_1jiecheng 和jiecheng(n-1)换了一下后,运行速度就大大不一样。为什么呢? jiecheng(n-1)把值赋给n_1jiecheng后,它们存储的值都是一样的。

原创粉丝点击