私の题解

数学考试

http://www.nowcoder.com/questionTerminal/e1e3e65479114efb9c68b1fe7db11b34

直白思路:处理出sum[i]表示a[i]一直到a[i+k-1]的和,对于n道题来说,一共有sum数组有n-k+1个值,现在的难点就是在这个sum数组里面找两个不相邻的值,相加使之最大。

用manx维护之前出现的最大sum,在于现在循环到的sum[i]相加判断是否为最大值

 for (int i = k+1; i <=n-k+1 ; ++i) {
           maxn=max(maxn,sum[i-k]);
           ans=max(ans,maxn+sum[i]);
}
全部评论

相关推荐

点赞 评论 收藏
分享
斑驳不同:还为啥暴躁 假的不骂你骂谁啊
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务