我是靠谱客的博主 笨笨眼睛,这篇文章主要介绍1423. 可获得的最大点数 ( 双指针 | 滑动窗口 ),现在分享给大家,希望可以做个参考。

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.内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(138)

评论列表共有 0 条评论

立即
投稿
返回
顶部