class Solution {
public:
int preProcess(vector<int>tmp,int L,int R) {
if (L == R)
return tmp[L];
else {
int lend = tmp[L] + lastProcess(tmp, L + 1, R);
int rend = tmp[R] + lastProcess(tmp, L, R - 1);
return max(lend, rend);
}
//先手取能得到的最大值
}
int lastProcess(vector<int>tmp, int L, int R) {
if (L == R)
return 0;
else {
return min(preProcess(tmp, L + 1, R), preProcess(tmp, L, R - 1));
}
}
};
//后手取能得到的最大值
轮流取数
最新推荐文章于 2019-08-17 16:58:47 发布