# 1423. Maximum Points You Can Obtain from Cards
###### tags: `Leetcode` `Medium` `Two Pointers`
Link: https://leetcode.com/problems/maximum-points-you-can-obtain-from-cards/
## 思路
two pointers
遍历所有从前面取的数字个数+从后面取的数字个数=k的组合
## Code
```cpp=
class Solution {
public:
int maxScore(vector<int>& cardPoints, int k) {
int n = cardPoints.size();
vector<int> preSum;
vector<int> postSum;
int sum = 0;
for(int card:cardPoints){
sum += card;
preSum.push_back(sum);
}
sum = 0;
for(int i=n-1; i>=0; i--){
sum += cardPoints[i];
postSum.push_back(sum);
}
int ans = max(preSum[k-1], postSum[k-1]);
for(int i=k-2; i>=0; i--){
ans = max(ans, preSum[i]+postSum[k-2-i]);
}
return ans;
}
};
```