--- 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/ -->