2016百度笔试题交流

来源:互联网 发布:不要在淘宝搜索血滴子 编辑:程序博客网 时间:2024/05/17 04:42

一道2016年百度研发的笔试题,给出了一个穷举的解法,与大家交流一下,欢迎给出更优解法的思路。

题目如下:


参考代码如下:

#include <iostream>#include <cstdlib>#include <vector>using namespace std;void Cal(const vector<int> &vec, int iBeg, int m, int& k, int& iCurrent, int &iMax){int n=vec.size();if(k==0){if(iCurrent>iMax) {iMax=iCurrent;return ;}return;}for(int i=iBeg;i<n-m*k+1;++i){for(int j=i;j<i+m;++j){iCurrent+=vec[j];}k--;Cal(vec, i+m,m,k,iCurrent,iMax);for(int j=i+m-1;j>=i;--j){iCurrent-=vec[j];}k++; }return;}int main(){int n,m,k;cin>>n>>m>>k;vector<int> vec;for(int i=0;i<n;++i){int tmp=0;cin>>tmp;vec.push_back(tmp);} int iCurrent=0, iMax=0;Cal(vec,0,m,k,iCurrent,iMax);cout<<iMax<<endl;return 0;}


0 0
原创粉丝点击