Skip to content
Rain Hu's Workspace
Go back

[LeetCode] 1423. Maximum Points You Can Obtain from Cards

Rain Hu
class Solution {
public:
    int maxScore(vector<int>& cardPoints, int k) {
        int n = cardPoints.size();
        int m = n-k;
        int sum = 0;
        for (int i = 0; i < m; i++) {
            sum += cardPoints[i];
        }
        int total = sum;
        int min_window_sum = sum;
        for (int i = m; i < n; i++) {
            sum += (cardPoints[i] - cardPoints[i-m]);
            total += cardPoints[i];
            min_window_sum = min(min_window_sum, sum);
        }
        return total - min_window_sum;
    }
};

Share this post on:

Previous
[LeetCode] 1. Two Sum
Next
[LeetCode] 2461. Maximum Sum of Distinct Subarrays With Length K