如何使用地图进行记忆?

时间:2013-06-29 08:57:22

标签: c++ map memoization

这是我的代码。这不行......有人可以帮助我吗?

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 );
}

我已经解决了这个问题。 Here's the Sample Solution!

1 个答案:

答案 0 :(得分:1)

您正在针对错误的容器检查end()。据推测,resultsmap<int,int>的另一个实例。

results更改为fibo

    if ( itr != fibo.end() )