# 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; } }; ```