力扣1423.可获得的最大点数——python

这道题我们依旧采用滑动窗口的方法,我们使窗口长度为N - k,采用反向思维,计算窗口里的最小值,

N = len(cardPoints)
        windowSize = N - k #窗口的大小
        sums = 0
        res = float("inf") #正无穷大
        for i in range(N):
            sums += cardPoints[i]
            if i >= windowSize:
                sums -= cardPoints[i - windowSize]
            if i >= windowSize - 1:
                res = min(res, sums)
        return sum(cardPoints) - res

你可能感兴趣的:(力扣,python,leetcode)