阅读背景:

动态规划-找出最大和

来源:互联网 
//不能选择相邻的两个数;找出最大和;递推完成
//用数组保存起来;

#include <iostream>
#include <algorithm>
using namespace std;

int arr[]={1,2,4,1,7,8,3};

int rec_opt(int n)
{
    int opt[sizeof(arr)+20];
    memset(opt,0,sizeof(opt));
    opt[0] = arr[0];
    opt[1] = max(arr[1],arr[0]);

    for(int i=2; i<=n ; i++)
        opt[i] = max(opt[i-1],opt[i-2]+arr[i]);
    return opt[n];
}

int main()
{
    cout << rec_opt(6) << endl;
    return 0;
}
//不能选择相邻的两个数;找出最大和;递推完成
//用数组保存起来;

#include



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: