一.题目
二.解题思路
1.首先想到暴力解法,发现n的范围在1到10000,所以采用暴力法的话,存在超时的风险.
2.此题与1132题存在相似之处:
第一步:用两个一维数组存储
a[ i ]存储输入的数字
b[ i ]存储每个位置上数字和
第二步:每个位置上的数字之和可以有两种计算方法:
一是与b[ i-2 ]相加
二是与b[ i-3 ]相加
因此,选择max (b[ i-2 ] , b[ i-3 ] )即可.
递推公式:b[ i ] = max ( b[ i-2 ],b[ i-3 ])+a[ i ]
(解释一下,为什么比较到i-3这一步就行.因为i-3之前的值,一定会小于等于b[i-2] 或者b[i-3] ,所以也就没有可比的价值,也减少了运算量)
第三步:输出b [ i ]中最大值即可
样例如下图所示:
三.代码</