学习内容
1423.可获得的最大点数
我的代码
class Solution {
public int maxScore(int[] cardPoints, int k) {
int left=k-1;
int right= cardPoints.length-1;
int sum=0;
int temp;
for (int i = 0; i < k; i++) {
sum+=cardPoints[i];
}
int res=sum;
for (int i = 0; i < k; i++) {
temp=cardPoints[right--]-cardPoints[left--];
sum+=temp;
if(sum>res){
res=sum;
}
}
return res;
}
}
思路:
实际上就是一个从两边开始的滑动窗口问题,随意从左指针或者右指针开始,遍历所有的可能找到最大解即可.
速度:100% 内存:30% AC