如何使用地图进行记忆
How to memoization using map?
这是我的代码。这不是工作。。。有人能帮我吗?
map<int,int> fibo;
int fibonacci( int n )
{
if ( n == 0 || n == 1 )
return 1;
map<int,int>::iterator itr = fibo.find( n );
if ( itr != fibo.end() )
return itr->second;
else
return fibo[ n ] = fibonacci( n -1 ) + fibonacci( n - 2 );
}
我已经解决了这个问题。这是样品溶液!
您正在针对错误的容器检查end()
。假定results
是map<int,int>
的另一个实例。
将results
更改为fibo
:
if ( itr != fibo.end() )
相关文章:
- 为什么不;名字在地图上是按顺序排列的吗
- 基于多个条件处理地图中的所有元素
- 在C++中将矢量转换为嵌套地图
- 松弛原子与无同步情况下的记忆连贯性
- 替换基于地图的所有引用
- 如何区分地图中的 0 和 false?
- 地图计数确实很重要,或者只是检查是否存在
- 递归函数有效,但无法记忆
- 如何从地图中删除矢量对象
- 是否有任何C++功能可以对地图进行排序?
- 如何使用 std::variant 打印地图键/值?
- 从矢量或地图中删除共享指针
- 在 c++ 中,有一种方法可以创建一个包含地图作为值的树状地图?
- 如何将记忆应用于此递归函数?
- 无限嵌套具有变体的地图
- C++一会儿循环读到地图上 2 行?
- 使用地图的埃拉托色尼筛子进行记忆和素数生成
- 如何使用地图或矢量进行C++记忆,用于任意数量的输入
- 如何使用地图进行记忆
- 我地图上的记忆问题在哪里?