---
tags: leetcode
---
# [1423. Maximum Points You Can Obtain from Cards](https://leetcode.com/problems/maximum-points-you-can-obtain-from-cards/)
---
# My Solution
## The Key Idea for Solving This Coding Question
## C++ Code
```cpp=
class Solution {
public:
int maxScore(vector<int> &cardPoints, int k) {
int winSum = 0;
for (int i = 0; i < k; ++i) {
winSum += cardPoints[i];
}
if (k == cardPoints.size()) {
return winSum;
}
int maxSum = winSum;
int i = k - 1, j = cardPoints.size() - 1;
while (i >= 0) {
winSum = winSum - cardPoints[i--] + cardPoints[j--];
if (maxSum < winSum) {
maxSum = winSum;
}
}
return maxSum;
}
};
```
## Time Complexity
O(k)
## Space Complexity
O(1)
# Miscellaneous
<!--
# Test Cases
```
[1,2,3,4,5,6,1]
3
```
```
[2,2,2]
2
```
```
[9,7,7,9,7,7,9]
7
```
```
[1,1000,1]
1
```
```
[1,79,80,1,1,1,200,1]
3
```
```
[96,90,41,82,39,74,64,50,30]
8
```
```
[200,79,80,1,1,1,200,300]
3
```
```
[200,500,80,1,1,1,200,300]
3
```
* TLE: https://leetcode.com/submissions/detail/553562025/testcase
* TLE: https://leetcode.com/submissions/detail/553564114/testcase/
-->