有没有办法只将递归的最后两个保存值保留在字典中并删除其余值?

肥皂

我正在使用记忆将斐波那契数的最后计算值保存在字典中。因为(我想)我们不需要以前在字典中计算的所有值,所以我想删除它们。具体来说,我只想保留最后两个计算出的斐波那契数,有没有办法做到这一点?

import sys
sys.setrecursionlimit(10000)
cache = {}


def fib(n):
    if n in cache:
        return cache[n]
    elif n <= 2:
        value = 1
    else:
        value = fib(n-1) + fib(n-2)
    cache[n] = value
    return value
print(fib(1000))
肥皂

好的,我找到了。

cache = {}
for x in range(1, 1000001):
    if x > 4:
        cache.pop(x-3, x-4)

    if x <= 2:
        value = 1
        cache[x] = value
    else:
        value = cache[x - 1] + cache[x - 2]
        cache[x] = value
print(value)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有办法从两个不同的数组中删除相同的值?

来自分类Dev

有没有办法将已经执行的命令保留在bash中的某种缓存中?

来自分类Dev

有没有办法检查单独的“列”中的两个值是否相等?

来自分类Dev

有没有办法防止git向文件推送/拉动更新,但将其保留在版本控制中?

来自分类Dev

有没有办法将文件夹保留在其目录中,但仍使其与Dropbox同步?

来自分类Dev

有没有办法使用键的值来比较两个字典?

来自分类Dev

有没有办法删除两个斜杠内的所有字符?

来自分类Dev

有没有办法将仅定义的字符保留在白名单中的字符串中?

来自分类Dev

有没有办法在Python字典中附加第3个值?

来自分类Dev

删除除一个以外的所有键,但将所有值保留在python字典中

来自分类Dev

有没有办法在Ruby中通过单个命令退出两个循环?

来自分类Dev

有没有办法将两个在R中互换的变量分组

来自分类Dev

有没有办法描述TypeScript中两个参数之间的关系?

来自分类Dev

有没有办法在方法声明中定义两个泛型类型

来自分类Dev

有没有办法只比较两个文件中的某些块?

来自分类Dev

有没有办法测试两个单独的值是否在两个单独的数组中,并检查它们是否相等?

来自分类Dev

值保留在输入中,而没有值标签

来自分类Dev

有没有办法让Tapply与两个索引值(或等效值)一起使用?

来自分类Dev

有没有办法让Tapply与两个索引值(或等效值)一起使用?

来自分类Dev

当FUN产生多个值时,有没有办法对两个向量使用“外部”

来自分类Dev

Angular7- 有没有办法将两个值添加到 bindLabel

来自分类Dev

有没有办法在一个Java8流中读取两个或更多文件?

来自分类Dev

有没有办法在一个线程中异步运行两个任务?

来自分类Dev

有没有办法从两个可能的@Inputs 中设置一个变量?(Angular2+)

来自分类Dev

有没有办法在MATPLOTLIB中使两个轴带有不同的标签?

来自分类Dev

有没有办法在C中的system()函数中合并两个Linux命令?

来自分类Dev

有没有办法在C#中使用LINQ将两个值选择到同一IEnumerable中?

来自分类Dev

有没有办法合并两个在Java 8中使用流循环?

来自分类Dev

有没有办法判断换行符是否正在Python中拆分两个不同的单词?

Related 相关文章

  1. 1

    有没有办法从两个不同的数组中删除相同的值?

  2. 2

    有没有办法将已经执行的命令保留在bash中的某种缓存中?

  3. 3

    有没有办法检查单独的“列”中的两个值是否相等?

  4. 4

    有没有办法防止git向文件推送/拉动更新,但将其保留在版本控制中?

  5. 5

    有没有办法将文件夹保留在其目录中,但仍使其与Dropbox同步?

  6. 6

    有没有办法使用键的值来比较两个字典?

  7. 7

    有没有办法删除两个斜杠内的所有字符?

  8. 8

    有没有办法将仅定义的字符保留在白名单中的字符串中?

  9. 9

    有没有办法在Python字典中附加第3个值?

  10. 10

    删除除一个以外的所有键,但将所有值保留在python字典中

  11. 11

    有没有办法在Ruby中通过单个命令退出两个循环?

  12. 12

    有没有办法将两个在R中互换的变量分组

  13. 13

    有没有办法描述TypeScript中两个参数之间的关系?

  14. 14

    有没有办法在方法声明中定义两个泛型类型

  15. 15

    有没有办法只比较两个文件中的某些块?

  16. 16

    有没有办法测试两个单独的值是否在两个单独的数组中,并检查它们是否相等?

  17. 17

    值保留在输入中,而没有值标签

  18. 18

    有没有办法让Tapply与两个索引值(或等效值)一起使用?

  19. 19

    有没有办法让Tapply与两个索引值(或等效值)一起使用?

  20. 20

    当FUN产生多个值时,有没有办法对两个向量使用“外部”

  21. 21

    Angular7- 有没有办法将两个值添加到 bindLabel

  22. 22

    有没有办法在一个Java8流中读取两个或更多文件?

  23. 23

    有没有办法在一个线程中异步运行两个任务?

  24. 24

    有没有办法从两个可能的@Inputs 中设置一个变量?(Angular2+)

  25. 25

    有没有办法在MATPLOTLIB中使两个轴带有不同的标签?

  26. 26

    有没有办法在C中的system()函数中合并两个Linux命令?

  27. 27

    有没有办法在C#中使用LINQ将两个值选择到同一IEnumerable中?

  28. 28

    有没有办法合并两个在Java 8中使用流循环?

  29. 29

    有没有办法判断换行符是否正在Python中拆分两个不同的单词?

热门标签

归档