//不能选择相邻的两个数;找出最大和;递推完成 //用数组保存起来; #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; }
动态规划-找出最大和
猜你喜欢
转载自blog.csdn.net/qq_36086886/article/details/80004030
今日推荐
周排行