动态规划-不相邻数字之和的最大值
#include <iostream>
#include <cstdio>
#include <algorithm>using namespace std;int rec_opt(int arr[], int i) { //递归方法,效率较低if (i == 0) return arr[0];else if (i == 1) return max(arr[0], arr[1]);else{int a = rec_opt(arr, i - 2) + arr[i];int b = rec_opt(arr, i - 1);return max(a, b);}
}int dp_opt(int arr[], int arrSize) { //非递归方法,利用数组避免计算重复子问题int opt[7];opt[0] = arr[0];opt[1] = max(arr[0], arr[1]);for (int i = 2; i < arrSize; i++) {int a = rec_opt(arr, i - 2) + arr[i];int b = rec_opt(arr, i - 1);opt[i] = max(a, b);}return opt[arrSize - 1];
}int main() {int arr[] = { 1,2,4,1,7,8,3 }; 数组样例printf("%d",rec_opt(arr, 6));printf("%d", dp_opt(arr, 7));return 0;
}
答案是:15
动态规划-不相邻数字之和的最大值相关推荐
- c++动态规划解决一系列数中互不相邻数字之和的最大值
c++动态规划解决一系列数中互不相邻数字之和的最大值 问题描述 解决思路 C++代码编写 运行结果 问题描述 给定一系列数字{1,2,4,1,7,8,3},要求其中互不相邻的数字之和的最大值. 解决思 ...
- python判断是相邻数字,检查Python中相邻数字的绝对差之和是否为素数
假设我们有一个数字n.我们必须检查相邻数字对的绝对差之和是否为质数. 因此,如果输入类似于n = 574,则输出将为True,例如| 5-7 |.+ | 7-4 | = 5,这是素数. 为了解决这个问 ...
- 一个环由个圈组成,把自然数1,2,…,N分别放在每一个圆内,数字的在两个相邻圈之和应该是一个素数。 注意:第一圈数应始终为1。input: N(0~20)output:输出格式如下所示的样品。
一个环由个圈组成,把自然数1,2,-,N分别放在每一个圆内,数字的在两个相邻圈之和应该是一个素数. 注意:第一圈数应始终为1. input: N(0~20) output:输出格式如下所示的样品.每一 ...
- 8、不与最大值相同的数字之和
输出一个整数数列中不与最大数相同的数字之和. 输入格式 输入分为两行: 第一行为 N(N 为接下来数的个数N≤100): 第二行为 N个整数,数与数之间以一个空格分开,每个整数的范围是 −1,000, ...
- OJ3RD 1157 合并相邻数字 - DP
题目描述 给你 n 个数字 每次可以合并相邻的两个数字, 即为这两个数字的和代替他们原来的位置, 这种操作耗费的代价为合并的两个数字之和 求最终将一串数组合并成为一个数字消耗的最小代价. 输入 多组测 ...
- 《团队开发一(求一个数组的连续的子数组之和的最大值)》
<团队开发一(求一个数组的连续的子数组之和的最大值)> (1)设计思想:一般的,求一个数组的最大子数组之和即是按数组顺序依次让前几个数的和与下一个数进行比较,设一变量来装每次比较后的较大的 ...
- 编程之美-2.14-求数组的子数组之和的最大值
这个以前写过,见求数组的最长子数组之和的最大值 这里说一下后面扩展题目. 1. 简述 1) 如果数组首尾相连,即允许找到一组数字(A[i],···,A[n-1], A[0],···, A[j]),请使 ...
- 求数组的子数组之和的最大值
一个有N个整数元素的一维数组( A[0], A[1], ... , A[n-2], A[n-1]),子数组之和的最大值是什么?(要求子数组的元素是连续的) 例子:有数组( -2, 5, 3, -6, ...
- 1.9 编程基础之顺序查找 07 不与最大数相同的数字之和
http://noi.openjudge.cn/ch0109/07/ /* 1.9 编程基础之顺序查找 07 不与最大数相同的数字之和 http://noi.openjudge.cn/ch0109/0 ...
最新文章
- pycharm 打开cfg高亮
- tensorflow从入门到放弃-0
- C++的int初始化
- python输出结果每5个换行_python for循环 - python基础入门(11)
- 锐捷发布极简以太全光解决方案 打造“不一样”的全光网
- kettle连接mysql教程_kettle 连接 mysql8
- HttpWebRequest以及HttpWebResponse
- 几句话介绍MagicAjax
- 扫描全能王添加头像的方法
- Neural Turing Machines-NTM系列
- Moto ME811刷机过程
- 网络数据采集技术snmp/netflow/sflow/network telemetry简介
- 问题 B: 结构体---职工信息结构体
- 小京东 去版权 去后门 终极版 ecshop
- 【单片机笔记】运放电流检测实用电路
- springBoot打包瘦身
- cellpadding和 cellspacing
- 数据增强实测之cutout
- 怎么修改web服务器的域名,web服务器域名怎么设置
- 刺激战场c语言,刺激战场各种代码,搬运3楼。
热门文章
- Python OpenCV 图像缩放 cv2.resize 方法
- JavaScript防抖(王者荣耀回城)、节流(王者荣耀技能读条)
- 直播带货赚钱太难,一定要学会这5种方法,让你收益翻倍
- Oracle database TSPITR(TableSpace Point-In-Time Recovery) 表空间基于时间点的恢复
- 将苹果通讯录.contacts文件导入安卓通讯录提取.contacts文件联系人的教程
- 【Python学习笔记②】——基础的数据结构【两万字总结 + 字符串、列表、元组、字典 + 增删查改】
- NYOJ - 独木舟上的旅行(贪心)
- win10亮度调节消失的解决方法
- 苏轼:醉笑陪君三万场 不诉离殇
- 我们都是被宫崎骏爱过的孩子