美文网首页
1423. Maximum Points You Can Obt

1423. Maximum Points You Can Obt

作者: morningstarwang | 来源:发表于2021-02-06 15:41 被阅读0次

    Ref: https://leetcode-cn.com/problems/maximum-points-you-can-obtain-from-cards/

    这道题利用滑动窗口可解,设一长度为n-k的滑动窗口,以步长为1在cardPoints上滑动,剩余元素之和则为带求k张卡牌之和,主要代码如下:

    class Solution:
        def maxScore(self, cardPoints: List[int], k: int) -> int:
            n = len(cardPoints)
            total_sum = sum(cardPoints)
            window = sum(cardPoints[:n - k])
            result = total_sum - window
            for i in range(1, k+1):
                window -= cardPoints[i - 1]
                window += cardPoints[i + n - k - 1]
                result = max(result, total_sum - window)
            return result
                
    

    相关文章

      网友评论

          本文标题:1423. Maximum Points You Can Obt

          本文链接:https://www.haomeiwen.com/subject/vtrotltx.html