LeetCode:1423. 可获得的最大点数

滑动窗口,原来滑动窗口还能这么用,可以的可以的
首尾双指针, 求出 k 个数的最大值, 反过来, 就是一个 区间长度 len - k 的滑动窗口在移动,然后空出来的 k 个数组成 ans
AC Code
class Solution {
public int maxScore(int[] cp, int k) {
// 双指针
int len = cp.length - k;
int sum = 0, part = 0, left = 0, right = len;
// 初始化
for(int i = 0; i < cp.length; i++) {
sum += cp[i];
if(i < len) part += cp[i];
}
int ans = sum - part;
while(right < cp.length) {
part -= cp[left++];
part += cp[right++];
ans = Math.max(ans, sum - part);
}
return ans;
}
}
最后
以上就是笨笨眼睛最近收集整理的关于1423. 可获得的最大点数 ( 双指针 | 滑动窗口 )的全部内容,更多相关1423.内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复