我是靠谱客的博主 笨笨眼睛,最近开发中收集的这篇文章主要介绍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. 可获得的最大点数 ( 双指针 | 滑动窗口 )所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部