Maximum Points You Can Obtain from Cards LeetCode solution in Java

1
class Solution {
2
public int maxScore(int[] cardPoints, int k) {
3
int n = cardPoints.length;
4
int[] totalSum = new int[n];
5
int sum = 0;
6
for (int i = 0; i < n; i++) {
7
sum += cardPoints[i];
8
totalSum[i] = sum;
9
}
10
if (n == k) {
11
return sum;
12
}
13
int score = 0;
14
for (int i = 0; i <= k; i++) {
15
int j = i + n - k - 1;
16
int subsum = 0;
17
if (i == 0) {
18
subsum = totalSum[j];
19
} else {
20
subsum = totalSum[j] - totalSum[i - 1];
21
}
22

23
score = Math.max(score, sum - subsum);
24
}
25
return score;
26
}
27
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0